GenWise:nHibernate的往返代码生成

时间:2009-06-08 05:54:42

标签: nhibernate code-generation

我一直在试验GenWise和CodeSmith。我正在寻找一种工具:

a)让我编辑SQL Server SSMS中的数据模式

b)从数据库生成所有C#对象,xml等

c)对生成的XML和C#

有很多控制权

d)在生成代码时执行“正确的事”,以便我可以迭代地使用该工具。即往返代码生成,不仅仅生成一次或两次,然后在我必须进行手动更改时放弃。

e)我不想要一个倒退的解决方案:用注释编写C#并生成数据库模式。当您需要微调架构时,IMO会让您感到不舒服。数据库代码应该从DB模式向上驱动,而不是向下编码。

我不得不说,看来GenWise会做到这一切。是否有人在延长的时间段内使用它,包括迭代数据库模式的更改和重新生成代码,同时还自定义代码中的业务对象/逻辑?

1 个答案:

答案 0 :(得分:0)

我使用过像CodeSmith或MyGeneration这样的基于模板的工具,我也使用过像LLBGen这样的工具,我认为它类似于GenWise,我自己从未使用过这个工具。

我个人更喜欢基于模板的工具。恕我直言,他们给你更多的控制和微调你生成的代码的可能性。使用像LLBgen这样的工具我的经验有点受限,但我不喜欢在命中生成之前我不理解所有生成的代码的事实。像LLBGen这样的工具可以更快地完成工作,但如果你是一个控制狂,并且你想知道生成的代码是做什么的,那么你需要浏览所有生成的代码并理解它是如何工作的。

顺便说一下,几年前我已经从这种方法转向域驱动设计,但在少数情况下我仍然发现从数据库生成代码是一个更好的解决方案。