在一个实际项目中,数据库是先建好的。现在要为这个项目重新做后台,本着快速开发的思想,就直接用了ef 6 的 DB first。
项目中,我需要将所有的实体继承于某个基类,但是如果每次从数据库生成,再修改cs文件,就很麻烦。所以,要实现这个功能,我修改了.edmx下面的.tt文件
public string EntityClassOpening(EntityType entity)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1}partial class {2}{3} : IModels.IKeyAutoID",
Accessibility.ForType(entity),
_code.SpaceAfter(_code.AbstractOption(entity)),
_code.Escape(entity),
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
}
以后每个类都可以快乐的加上 : IModels.IKeyAutoID 了