实体框架模板定制与RAD ASP.NET应用数据绑定
一、T4模板定制
在代码中搜索“ObjectContext”,第一个实例通常在注释中,第二个实例大约在第110行的代码里:
<#=Accessibility.ForType(container)#>
partial class <#=code.Escape(container)#> : ObjectContext
这里被 <#= ...... #> 指令包围的代码是处理指令,其他部分则会直接写入代码文件。当T4针对“BreakAway.EDMX”处理这行代码时,会输出:
public partial class BAEntities : ObjectContext
(一)修改模板
为了熟悉T4的使用并掌控生成的类,我们可以对模板进行一些小修改。之前在实体部分类中添加了“ObjectMaterialized”事件,在“Lodging”部分类中添加了由“ObjectMaterialized”调用的“Materialized”方法。现在,我们使用T4将“Materialized”部分方法注入到每个实体类中。
在进行模板定制时,要注意不要在模板中插入实际的业务逻辑。在代码生成时,我们并不知道要在“ObjectMaterialized”中执行什么逻辑,所以不应将其写入生成的类中。我们至少可以为每个实体类提供一个部分“Materialized”方法,这样实现自定义逻辑的开发者就能使用通用的方法名。
插入
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



