我正在使用Poco生成器和EF4,我想知道是否可以编辑T4模板来强制所有实体类实现自定义界面。由于每次运行自定义工具时,pocos都会被删除并重新创建,所以每次更新时都必须添加 - 我确定要避免这种情况。编辑T4 poco模板以实现定制界面
我意识到我可以为每个poco创建部分类并在那里实现接口,但是我希望避免所有这些样板代码。
任何建议将受到欢迎。
我想我正在接近一个解决方案。通过将实现添加到生成的签名来编辑tt模板。
<#= Accessibility.ForType(实体)#> <#= code.SpaceAfter(code.AbstractOption(实体))#>部分类<#= code.Escape(实体)#>:IEntity <#=代码.StringBefore(“,”,code.Escape(entity.BaseType))#>
但是我碰到了一些障碍。我的一些实体具有在edmx设计中指定的基类(表继承)。我需要强制所有实体实现一个名为IEntity的接口。 IEntity合同没有方法,所以没有什么可实施的。我需要依靠所有具有共同基础的实体。这是由于完全独立的自定义验证框架的实现。我为大多数实体获得了正确的签名,但是,已经拥有基类的实体抛出摇摆不定,因为在继承基类之前无法实现接口。 :IEntity,BaseClass是不允许的。我需要交换这些,但我不知道我将如何在模板中关闭它。