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

时间:2010-05-17 00:22:25

标签: entity-framework visual-studio-2010

如果我已经有域类,并且我希望能够通过模型第一种方法使用EF来保持它们,我该怎么做?

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

最简单的方法是什么?

编辑 - 在我的情况下,我有一些基本类可以进行图形导航 - 我希望我可以在业务逻辑程序集中留下(a)我的图形遍历例程,例如NodeBase,RelationshipBase等,然后(b)将我的EF持久性放在一个单独的EF程序集中。我对这个具体情况有什么建议吗?

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

  1. ADO.NET C#POCO实体生成器模板 - 在线
  2. ADO.NET自我跟踪实体生成器 - 本地
  3. ADO.NET实体对象生成器
  4. 我猜测#3是VS2010的默认值。 #1和#2中的任何人都可能最有助于我的目标?即拥有一组现有的域类,其中的方法已经从其他类继承(即注意到当前EF生成的实体类,它们似乎已经必须从EntityObject继承)

1 个答案:

答案 0 :(得分:1)

生成的类都是部分的。因此,如果您具有相同的命名空间和相同的实体/类名称,则将现有的一组类与一组模型实体进行合并相当容易。简单地在您的类上放置部分并删除由Entity框架生成的代码实现的所有属性。