如何防止在EDMX更新后丢弃字段

时间:2014-06-19 12:36:40

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

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

BaseEntity(摘要)
ID

BaseHistoricalEntity(摘要)
ENTITYID
CREATEDATE
DeleteDate

TitleEntity
TitleNumber
IsDraft
RegistryDate
上次更改
LastModifiedBy
TitleStatusId
BuildTypeId
OkvedId
DeliveryDate
TitleBuildCharacteristics
TitleTypeId
BasePriceId
KOSGU

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

标题表还有来自 BaseHistoricalEntity 实体的其他三个字段。

ENTITYID
CREATEDATE
DeleteDate

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

  

BaseEntity-> BaseHistoricalEntity-> TitleEntity

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

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

数据库更改后,如何保存这些字段?

1 个答案:

答案 0 :(得分:0)

从这里开始:https://entityframework.codeplex.com/workitem/2351
EF Team Triage :这是设计的(尽管可以说是一个糟糕的设计)。从数据库更新模型功能是为了将更改合并到它创建的模型中,如果您开始编辑模型(添加继承等),则向导将无法始终能够成功合并更改。
Update Model From Database存在很多问题,我们对如何以更强大的方式重新创建它有了一些想法。不幸的是,修复当前的实施是不可行的。