gpt4 book ai didi

c# - 扩展 Entity Framework 模型以包含新属性

转载 作者:太空狗 更新时间:2023-10-29 18:02:26 26 4
gpt4 key购买 nike

我是 EF 的新手,所以如果这是一个菜鸟问题,请原谅。

基本上,我们使用模型优先为我们的“平台”项目设置了一个 EF 模型,并在我们在此平台之上构建的许多应用程序之间共享。在其中一些应用程序中,我们希望在不更改平台模型的情况下扩展类以包含其他属性。这对 EF 4 来说可能吗?如果不修改 .edmx 文件,我将如何做到这一点?

我注意到生成的类都是部分类,因此我可能会创建一个具有相同名称的新部分类以包含新属性,但是是否有任何映射需要处理?

附注在正常情况下,我宁愿使用继承并创建一个新类来保存新属性,但同样,我不知道如何使用 EF 来做到这一点。这里的任何启发将不胜感激!

非常感谢,

最佳答案

您不能使用继承,因为从数据源加载实体后,EF 将不知道继承,因此它会在没有您的属性的情况下实例化基类型,而不是使用您的属性实例化派生类型。如果 EF 必须使用任何继承,则必须在 EDMX 中映射它。

使用部分类可以解决您的问题,但是:

  • 分部类的所有部分必须在同一个程序集中定义
  • 您部分的属性不会保存到数据库中
  • 您的部分属性不能用于 linq-to-entities 查询

关于c# - 扩展 Entity Framework 模型以包含新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099456/

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