我正在使用Entity Framework Database First来处理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模型类?
答案 0 :(得分:4)
如果您手动更改类,保存并编译,EF数据库首先使用t4文件,T4将再次生成类,您将丢失更改。 您必须在T4模板中进行此更改。搜索EntityClassOpening方法并更改最后一行:
_typeMapper.GetTypeName(entity.BaseType)
使用此代码:
_typeMapper.GetTypeName(entity.BaseType) ?? "EntityBaseClass"