我必须更改使用 NetTiers 模板通过 CodeSmith 生成的一些遗留代码。我需要添加一些新列,而且我没有原始模板,也没有 CodeSmith 许可证。有没有办法在不使用 CodeSmith 的情况下添加它们?
问问题
106 次
1 回答
1
是的,你绝对可以。Nettiers 只不过是自动生成的 c# 代码,生成的代码没有什么特别之处,您可以根据自己的喜好对其进行修改。
也就是说,手动修改您正在谈论的类型会有点费时。如果这不是一次性的,我强烈建议获得 Code Smith 并尝试重新生成。
为了手动完成您的目标,您需要修改实体类本身,还需要修改所有要使用新列的 get 和 save 方法,最后是过程 xml 和存储过程本身。这与整个 DAL 是用 c# 手动编写的过程相同。
另一个选择是将新列添加到表的末尾,然后使用其他一些 DAL 来管理其中的数据。只要新列只添加到表的末尾,nettiers 就会完全忽略它们。
如果您的网络层使用存储过程来访问数据,那么只要存储过程中的列位置不更改列位置本身也无关紧要。不过,我还没有测试过这是否适用于 nettiers 构建的参数化查询。
于 2019-07-31T07:47:22.620 回答