【问题标题】:How to prevent fields from being dropped after an EDMX update如何防止在 EDMX 更新后删除字段
【发布时间】:2014-08-10 00:04:53
【问题描述】:

我有一个基于Oracle 11G数据库的EF 5.0 Database First模型,如下图:

BaseEntity(抽象)
身份证

BaseHistoricalEntity(抽象)
实体ID
创建日期
删除日期

TitleEntity
标题编号
IsDraft
注册日期
上次修改时间
最后修改者
TitleStatusId
BuildTypeId
OkvedId
交货日期
TitleBuildCharacteristics
TitleTypeId
BasePriceId
科斯古

所有实体都有一个主键 (Id)。因此它们派生自 BaseEntity

Title 表具有来自 BaseHistoricalEntity 实体的额外三个字段。

实体ID
创建日期
删除日期

Title 表映射到三个派生实体,如下所示:

BaseEntity->BaseHistoricalEntity->TitleEntity

当我在数据库中的其他表中添加/删除字段,然后更新 EDMX 模型时,会从 EDMX 文件中删除以下字段定义:

<ScalarProperty Name="EntityId" ColumnName="ENTITY_ID" />
<ScalarProperty Name="CreateDate" ColumnName="CREATE_DATE" />
<ScalarProperty Name="DeleteDate" ColumnName="DELETE_DATE" />

数据库更改后我应该如何保存这些字段?

【问题讨论】:

    标签: c# entity-framework code-generation edmx ef-database-first


    【解决方案1】:

    从这里:https://entityframework.codeplex.com/workitem/2351
    EF 团队分类:这是设计使然(尽管可以说是一个糟糕的设计)。从数据库更新模型功能旨在将更改合并到它创建的模型中,如果您开始编辑模型(添加继承等),那么向导将无法始终成功合并更改。
    从数据库更新模型存在很多问题,我们有关于如何以更健壮的方式重新创建它的想法。不幸的是,修复当前的实现是不可行的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-16
      • 2017-08-13
      • 1970-01-01
      相关资源
      最近更新 更多