首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首先使用EF 5逆向工程代码,为什么[Key]加HasKey()?

首先使用EF 5逆向工程代码,为什么[Key]加HasKey()?
EN

Stack Overflow用户
提问于 2012-10-17 12:55:36
回答 2查看 362关注 0票数 1

我首先使用EF反向工程代码来获取POCO和映射表。我得到了一个例外: EntityType 'MYPOCO‘没有定义键。定义此EntityType的键。我在pk字段中添加了键属性,它工作得很好。但是:

为什么Key属性必须设置在poco PK属性上?

代码语言:javascript
复制
[Key] // what's the reason for this redundancy with HasKey() in mapping class ?
public int ID_MYPOCO { get; set; }

则是在映射类中提到的。

代码语言:javascript
复制
public class MYPOCOMap : EntityTypeConfiguration<MYPOCO>
{
    public MYPOCOMap()
    {
        // Primary Key
        this.HasKey(t => t.ID_MYPOCO);
    }
}

这是可行的,这不是什么大问题,但不知道是否有任何理由这样的冗余?无论如何,非常满意EF逆向工程,我最喜欢的方法超过四种方式的地图DB。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-17 12:59:54

区别在于前者在compile时,后者在run time时。

票数 2
EN

Stack Overflow用户

发布于 2012-10-17 13:02:10

虽然在DB生成中使用了键之类的属性,但它们也用于验证等其他事情,因此也需要进行定义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12934821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档