如何自定义Entity Framework类?

时间:2008-09-02 12:42:55

标签: .net entity-framework

有没有办法接管Entity Framework类构建器?我希望能够拥有自己的类构建器,这样我就可以创建一些属性来在实现时调用其他方法,或者使实体类变为局部。

3 个答案:

答案 0 :(得分:3)

实际上他们已经在部分课程中。见MSDN

答案 1 :(得分:2)

System.Data.Entity.Design.EntityClassGenerator是VS中用于从.edmx文件生成对象层的类型,它是EdmGen.exe用于从.csdl文件生成对象层的类型。下面我列出了影响生成代码的3种方法。第3个选项要求您自己调用EntityClassGenerator。你可以让你的代码在VS中自动运行,类似于Sanjay提供的using this technique的SingleFileGenerator。

  1. 通过部分类
  2. 向代码添加代码
  3. 将代码添加到由生成的类
  4. 调用的部分方法
  5. 挂钩代码生成事件,将代码直接注入到生成的属性和类型中。有关示例
  6. ,请参阅Danny的blog post

答案 2 :(得分:0)

我将补充一点,您不仅可以将自己的类部分类添加到实体框架发布的那些,还可以写出所有部分方法由生成的代码创建。

IE。将会有很多部分方法代码被调用,但生成的代码中的方法本身并没有真正实现。为此,您可以编写一个部分方法来捕获属性更改时的事件等。处理一些业务规则并不是一种糟糕的方式。