有关修改NetTiers的建议

时间:2010-12-14 21:12:18

标签: c# code-generation .nettiers

我正在评估使用NetTiers进行下一个项目。

问题是: 我的架构中的每个表都有一个字段AccountId。对于DAL的每个请求,我希望它是一个要求,即传递AccountId并将其用作查询中的过滤器。

如果生成了使用此参数的额外过载,那将是可以接受的。

我怀疑这个功能没有内置,所以任何人都可以提供任何关于从哪里开始修改模板以添加它的建议?

1 个答案:

答案 0 :(得分:3)

修改NetTiers模板并不困难,一旦你知道它生成的类迷宫的方式,但它通常是相当繁琐和非常容易出错。

我的第一个假设是,您生成的数据库要么只有几个表,要么非规范化 - 否则在每个表中都有 AccountId 列是没有意义的。如果它是后者并且结构无法规范化,它认为根据数据库外键(包括DeepLo​​ads)使用额外的 AccountId 获取所有构建的导航属性将是一个相当大的变化。过滤

另外,您提到添加包含 AccountId 的重载是可接受的解决方案。但是,这会使现有的NetTiers重载不需要 AccountId 参数给任何DAL消费者......

无论如何,这里是您需要修改的一些领域的摘要:

我的一般建议是,虽然几年前NetTiers和CodeSmith是构建DAL的首选工具,但我不建议这些日子走这条路。随着微软实体框架和开源NHibernate的发展,你不应该再深入涉及数据访问管道层(即使只是在代码生成级别)。