gpt4 book ai didi

c# - 如何防止字段在 EDMX 更新后被删除

转载 作者:行者123 更新时间:2023-11-30 12:59:41 25 4
gpt4 key购买 nike

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

BaseEntity(抽象)
编号

BaseHistoricalEntity(摘要)
实体编号
创建日期
删除日期

标题实体
标题编号
是草稿
注册日期
最后修改时间
最后修改者
TitleStatusId
BuildTypeId
OkvedId
交货日期
标题BuildCharacteristics
TitleTypeId
BasePriceId
科斯古

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

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

实体编号
创建日期
删除日期

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

BaseEntity->BaseHistoricalEntity->TitleEntity

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

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

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

最佳答案

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

关于c# - 如何防止字段在 EDMX 更新后被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24306801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com