Smartkid's binary life

博客园 首页 联系 订阅 管理

EntityDataModel 默认生成的实体类派生自 EntityObject:

public class MyUser : EntityObject 

如果要定一个项目通用的基类,如:

public class MyUser : MyEntityObjectBase 


可以修改 tt 文件如下 (diff格式):

 

@@ -315,7 +315,7 @@
 
<#
         }
 #
>
-<#=Accessibility.ForType(entity)#> <#=code.SpaceAfter(code.AbstractOption(entity))#>partial class <#=code.Escape(entity)#> : <#=BaseTypeName(entity, code)#>
+<#=Accessibility.ForType(entity)#> <#=code.SpaceAfter(code.AbstractOption(entity))#>partial class <#=code.Escape(entity)#> <#=BaseTypeName(entity, code)#>
 {
 
<#
         
if (!entity.Abstract)
@@ 
-1022,7 +1022,7 @@
 
 
string BaseTypeName(EntityType entity, CodeGenerationTools code)
 {
-    return entity.BaseType == null ? "EntityObject" : MultiSchemaEscape((StructuralType)entity.BaseType, code);
+    return entity.BaseType == null ? String.Empty : "" + MultiSchemaEscape((StructuralType)entity.BaseType, code);
 }
 

 

这样就禁止了T4模板在生成代码中包含基类,然后手工在partial 类中定义基类。

posted on 2011-04-10 22:51  Smartkid  阅读(626)  评论(0编辑  收藏  举报