2

我首先使用实体​​框架数据库来处理 db。

我有一个基类 EntityBase

public class EntityBase
{        
    public Int32 Id { get; set; }
}

我有一些其他类由 EnitytFramework 生成并代表我的数据库的表,例如“用户”类:

public class User
{
  public int32 Id{get;set;} 
  public class Name{get;set;}
  public class Age{get;set;}
}

我希望所有 EF 模型类都从 EntityBase 继承:

public class User : EntityBase

我可以通过从 User 类中删除 Id 字段并定义继承来手动执行此操作,但是在我从 db 更新模型之后,所有手动更改都会消失。有什么方法可以保留或自动向 EF 模型类添加继承?

4

1 回答 1

4

如果您手动更改类,保存并编译,EF 数据库首先使用 t4 文件,T4 将再次生成类并且您丢失更改。您必须在 T4 模板中进行此更改。搜索 EntityClassOpening 方法并更改最后一行:

_typeMapper.GetTypeName(entity.BaseType)

使用此代码:

_typeMapper.GetTypeName(entity.BaseType) ?? "EntityBaseClass"
于 2015-09-03T01:10:42.380 回答