0
EF符号相反第一个工具是生成复合键EF Reverse Code First Tool为什么会生成复合键?
public vw_ResourcesMap()
{
// Primary Key
this.HasKey(t => new { t.Refno, t.Obsolete }); // Why???
// Properties
this.Property(t => t.Refno)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
this.Property(t => t.Name)
.HasMaxLength(50);
this.Property(t => t.LocnID)
.IsFixedLength()
.HasMaxLength(2);
this.Property(t => t.Created_by)
.HasMaxLength(50);
// Table & Column Mappings
this.ToTable("vw_Resources");
this.Property(t => t.Refno).HasColumnName("Refno");
this.Property(t => t.Name).HasColumnName("Name");
this.Property(t => t.Head).HasColumnName("Head");
this.Property(t => t.LocnID).HasColumnName("LocnID");
this.Property(t => t.Obsolete).HasColumnName("Obsolete");
this.Property(t => t.Created_by).HasColumnName("Created_by");
this.Property(t => t.Version).HasColumnName("Version");
this.Property(t => t.Rank).HasColumnName("Rank");
}
}
我不得不把主键声明更改为this.HasKey(t => t.Refno)
映射关系,否则我会得到下面的异常。
关系约束中的从属角色和主角色中的属性数量必须相同。
也许这是一个错误 - IDK
所有的工作,但希望增加了解和认识。
谢谢!
它是数据库视图的逆向工程映射吗?其他列可以为空吗? –
我有类似的问题,因为我不断改变数据库,并在更改后使用反向工程来正确地映射数据库,所以有一次我忘记更改数据库,并导致与您的错误相同。问题是我从一列删除IDENTITY,并添加到另一个不应该是IDENTITY。 –
@LadislavMrnka是的,它映射这是该工具的更新。列是可空的。主要特别需要非空来满足关系(如果我没有记错的话)。 – Rich