我正在尝试使用EF4.1和T4对域建模进行一些设计验证。
在设计时我运行一个定制的T4 poco生成器模板,该模板读取edmx并创建3个部分类:
1)域级类(任何特定业务方法将驻留在其中)。这只生成一次。一旦Gen拥有它。
2)poco类只是属性和虚拟导航属性到相关对象,懒惰加载。如果/当数据库中的任何基础列发生变化时,可以重新生成。
3)元数据类,其内部类的属性使用数据注释进行修饰,以在插入/更新数据之前提供额外的列级验证。
这有多大意义吗?我喜欢分离,即poco和域对象之间的分离,以便我可以随时向部分域对象添加方法,而不必担心在基础数据规范可能发生变化后需要重新运行T4模板时丢失方法。元数据类怎么样?如果我的应用程序将执行字段验证,这是不必要的吗?