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