我使用实体框架数据库首先与数据库工作。
我有一个基类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
我可以手动做到这一点,通过删除Id字段从用户类和定义继承,但在我从数据库更新模型后,所有手工更改消失。是否有任何方法可以保留或自动添加继承到EF模型类中?
EF数据库首先与t4文件一起工作,如果您手动更改类,保存并编译,t4将再次生成类,并且您丢失了更改。您必须在T4模板中进行此更改。搜索EntityClassOpening方法并更改最后一行:
_typeMapper.GetTypeName(entity.BaseType)
的代码:
_typeMapper.GetTypeName(entity.BaseType) ?? "EntityBaseClass"