自定义Entity Data Model生成的实体类的基类
2011-04-10 22:51
267 查看
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 类中定义基类。
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 类中定义基类。
相关文章推荐
- 修改tt模板让ADO.NET C# POCO Entity Generator With WCF Support 生成的实体类继承自定义基类
- 整合maven+mybatis+generator生成java自定义model实体类,dao接口和mapper映射文件
- Entity Framework Code first 禁止重新生成数据表库数据 和实体类修改后如何对应表
- 安装完毕后VS2012(2013)中找不到ADO.NET Entity Data Model模板或 sql server database project模板
- VS2015中添加新建项,找不到ado .net entity datamodel的解决方法
- java 后台开发中model与entity(实体类)的区别
- EF学习笔记——生成自定义实体类
- T4+VSIX 打造Visual Studio 2010 中的Entity代码生成自定义工具
- Entity Framework Code first 禁止重新生成数据表库数据 和实体类修改后如何对应表
- 关于"ADO.NET Entity Data Model模板丢失"
- EF学习笔记——生成自定义实体类
- Entity Framework的核心 – EDM(Entity Data Model) 一
- Entity Framework Model First下改变数据库脚本的生成方式
- Ado.net entity data model搭建三层架构
- 自动生成hibernate的hbm.xml和model/entity
- EF学习笔记——生成自定义实体类
- 15.C#:VS2010无法新建实体数据模型,找不到Entity Data Model选项
- Silverlight + WCF使用Linq to SQL以及ADO.NET Entity Data Model更新数据库子表方法
- Entity Data Model (EDM) 深入分析, Part 1
- 第6章 数据注解 System.ComponentModel.DataAnnotations 、注解后台原理、自定义验证ValidationAttribute、IValidatableObject