【问题标题】:Entity Framework code first reverse engineer identity column insetEntity Framework 代码第一个逆向工程师标识列插图
【发布时间】:2015-02-02 03:59:13
【问题描述】:

我使用 EntityFramework 作为我的 ORM。我使用逆向工程创建了我的代码模型,并将生成的域对象移动到我的核心层。

当我尝试在数据库中创建一个新实体时,该实体的身份列具有身份增量,并执行 SaveChanges() - 它失败了。我使用分析器查看发送到数据库的内容,我看到它尝试插入带有零作为值的标识列(因为它是一个整数,它会自动分配零作为值)。

如何告诉实体框架映射在插入时忽略此字段? (我不想在域对象上这样做——我宁愿在没有特定注释的情况下保持域对象尽可能简单)

编辑

这似乎是因为我做了一个继承。我创建了一个继承自我试图插入的对象的对象 - 但我不明白为什么会打扰它。

【问题讨论】:

    标签: entity-framework entity-framework-6


    【解决方案1】:

    在其上使用Key 属性或将DatabaseGenerationOption.Computed 传递给DatabaseGenerated

    【讨论】:

    • 试过了。如果对象是从中继承的,则它不起作用。
    • 你的意思是ID字段是从另一个类继承的?
    • 没有。我遇到问题的对象是从中继承的。这是我的 Member 对象(并且成员详细信息很少),而且我拥有从 Member 继承的 MemberFullDetails 对象。
    • 这些属性应该适用于基类。我认为它们也是自动继承的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    相关资源
    最近更新 更多