繁体   English   中英

实体框架-首先在模型中,如何使我的EF类基于我已有的现有域类?

[英]Entity Framework - in model first, how do I get my EF classes to be based on the existing domain classes I have?

如果我已经拥有域类,并且希望能够通过模型优先方法使用EF来持久化它们,该如何做?

例如,是否要去EF设计器(在VS2010中)并创建模型并生成类,然后去这些EF类并以某种方式手动修改它们? 但是如果我需要更改模型并从模型中重新创建数据库TSQL进行更新,那会不会有问题?

最简单的方法是什么?

编辑-就我而言,我有一些进行图导航​​的基类-我希望我可以(a)将图遍历例程留在业务逻辑程序集中,例如NodeBase,RelationshipBase等,然后(b)使用我的EF坚持在一个单独的EF程序集中。 我对此有什么建议?

编辑2-实际上,我注意到我注意到“添加代码生成项..”中的以下模板选项。

  1. ADO.NET C#POCO实体生成器模板-在线
  2. ADO.NET自跟踪实体生成器-本地
  3. ADO.NET实体对象生成器

我猜想#3是VS2010随附的默认值。 #1和#2中的任何人,哪个可能最有助于实现我的目标? 即拥有一组现有的域类,这些域类具有已经从其他类继承的方法(即注意当前EF生成的实体类,它们似乎已经必须从EntityObject继承)

生成的类都是局部的。 因此,如果您具有相同的名称空间和相同的实体/类名称,则将现有的类集与模型优先的实体集合并是相当容易的。 只需将partial放在您的类上,并删除由Entity Framework生成的代码实现的所有属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM