如果我已经有域类,并且我希望能够通过模型第一种方法使用EF来保持它们,我该怎么做?
例如,我是否转到EF设计器(在VS2010中)并创建模型并生成类,然后转到这些EF类并以某种方式手动修改它们?但是,如果我需要更改模型并从模型中重新创建数据库TSQL以进行更新,那么会出现问题吗?
最简单的方法是什么?
编辑 - 在我的情况下,我有一些基本类可以进行图形导航 - 我希望我可以在业务逻辑程序集中留下(a)我的图形遍历例程,例如NodeBase,RelationshipBase等,然后(b)将我的EF持久性放在一个单独的EF程序集中。我对这个具体情况有什么建议吗?
编辑2 - 实际上我注意到我在“添加代码生成项目”中注意到以下模板选项
我猜测#3是VS2010的默认值。 #1和#2中的任何人都可能最有助于我的目标?即拥有一组现有的域类,其中的方法已经从其他类继承(即注意到当前EF生成的实体类,它们似乎已经必须从EntityObject继承)
答案 0 :(得分:1)
生成的类都是部分的。因此,如果您具有相同的命名空间和相同的实体/类名称,则将现有的一组类与一组模型实体进行合并相当容易。简单地在您的类上放置部分并删除由Entity框架生成的代码实现的所有属性。