实体框架-手动更新edmx文件覆盖DB更新

本文关键字:更新 文件 覆盖 DB edmx 实体 -手 框架 | 更新日期: 2023-09-27 18:10:22

在实体框架中,我明白如果你对自动创建的类进行更改,你会在任何类型的DB更新上失去这些更改。因此,由于这一点,您只能使用Partial Class语法在单独的文件中对这些对象进行更改。

以类似的方式,我必须手动更改实际的.edmx文件,以添加定义查询,就像这里所描述的那样。

现在,当我从DB添加新表时,我对edmx文件所做的一些更改丢失了,并且我开始在我的项目中得到错误。

是否有一种方法可以对edmx文件做类似的事情?-也许在相同的命名空间下创建第二个XML,因此在加载时附加?如果有的话,有没有什么例子可以说明如何做到这一点?EF对我来说是全新的,它比我想象的更能打击我:)

谢谢! !

实体框架-手动更新edmx文件覆盖DB更新

您还可以为您的模型主文件创建一个局部类。有一个名为yourmodel.Context.cs(vb)的类。您可以在model之外创建另一个类,并使该类成为这个类的局部类,并在局部类中进行自定义,否则您将在每次模型更新时丢失所有自定义。

如图所示[点击查看],我有一个edmx文件。在这个文件中,我有一个名为:xxxx.Context.vb
的文件如果你打开这个文件,你会看到它的名字是Entities,并且继承自DbContext。这个文件是EF中的主类。您可以使用这个文件类名创建一个部分类,并在其中进行定制。