我正在使用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是不允許的。我需要交換這些,但我不知道我將如何在模板中關閉它。