我使用 Entity Framework Database First 来处理数据库。
我有一个基类EntityBase
public class EntityBase
{
public Int32 Id { get; set; }
}
我还有一些由 EnitytFramework 生成的其他类,代表我的数据库的表,例如“User”类:
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 字段并定义继承来手动执行此操作,但是在我从数据库更新模型后,所有手动更改都会消失。 有什么方法可以保留或自动添加对 EF 模型类的继承吗?
最佳答案
如果您手动更改类、保存并编译,EF 数据库首先使用 t4 文件,T4 将再次生成类,并且您会丢失更改。 您必须在 T4 模板中进行此更改。搜索EntityClassOpening方法并更改最后一行:
_typeMapper.GetTypeName(entity.BaseType)
使用此代码:
_typeMapper.GetTypeName(entity.BaseType) ?? "EntityBaseClass"
关于c# - Entity Framework 数据库首先从基类继承模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17171440/