tah*_*hir 3 c# entity-framework partial-classes entity-framework-4.1
在实体Framework 4.1数据库中,首先在生成的c#类中有一个构造函数,那么我在哪里可以进行部分类自定义初始化?
据我所知,你的项目中有一个像Model.edmx这样的文件实际上并没有生成任何代码.然后你有Model.tt,这是EF 4.1实际用来生成代码的.你可以修改这个Model.tt.所以,如果你想为OnInitialized()每个生成的实体添加一个partial方法的调用,从它们的构造函数调用,在Model.tt的代码中找到构造函数(它的第一行看起来应该是这样的public <#=code.Escape(entity)#>()),添加调用OnInitialized()在构造函数的某处并声明部分方法:
partial void OnInitialized();
Run Code Online (Sandbox Code Playgroud)
使用"运行自定义工具"重新生成实体,您就完成了.您现在可以在非生成代码中执行以下操作:
partial class SomeEntity
{
partial void OnInitialized()
{
// custom initialization code goes here
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道EF 4.1,所以有可能有更好的方法.