如果您首先处理数据库,您始终可以编辑 T4 模板来执行您想要的操作。在解决方案资源管理器中,展开 MyEntities.edmx 文件并找到 MyEntities.tt 文件并将其打开。
在第 307 行,您应该有以下方法:
public string EntityClassOpening(EntityType entity)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1}partial class {2}{3}",
Accessibility.ForType(entity),
_code.SpaceAfter(_code.AbstractOption(entity)),
_code.Escape(entity),
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
}
您需要将其更改为:
public string EntityClassOpening(EntityType entity)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1}partial class {2}{3}",
Accessibility.ForType(entity),
_code.SpaceAfter(_code.AbstractOption(entity)),
_code.Escape(entity),
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType) ?? "MyBaseClass"));
}
您可以看到,如果没有提供 BaseType(您可以在 GUI 中执行此操作,但这是为了让单个实体从另一个实体继承),那么我们希望该实体从 MyBaseClass 继承。
现在,当您保存它时,它将重新生成您的所有实体,并且它们现在将从 MyBaseClass 继承。就那么简单。