我首先使用EF反向工程代码来获取POCO和映射表。我得到了一个例外: EntityType 'MYPOCO‘没有定义键。定义此EntityType的键。我在pk字段中添加了键属性,它工作得很好。但是:
为什么Key属性必须设置在poco PK属性上?
[Key] // what's the reason for this redundancy with HasKey() in mapping class ?
public int ID_MYPOCO { get; set; }而则是在映射类中提到的。
public class MYPOCOMap : EntityTypeConfiguration<MYPOCO>
{
public MYPOCOMap()
{
// Primary Key
this.HasKey(t => t.ID_MYPOCO);
}
}这是可行的,这不是什么大问题,但不知道是否有任何理由这样的冗余?无论如何,非常满意EF逆向工程,我最喜欢的方法超过四种方式的地图DB。
发布于 2012-10-17 12:59:54
区别在于前者在compile时,后者在run time时。
发布于 2012-10-17 13:02:10
虽然在DB生成中使用了键之类的属性,但它们也用于验证等其他事情,因此也需要进行定义。
https://stackoverflow.com/questions/12934821
复制相似问题