2009-06-08 31 views
0

我一直在試驗GenWise和CodeSmith。我在找一個工具,將:GenWise:nHibernate的往返代碼生成

一)讓我從數據庫編輯在SQL Server SSMS

二)數據模式生成所有的C#對象,XML等

三)有很多控制生成的XML和C#

d)在生成代碼時做「正確的事情」,以便我可以迭代使用該工具。即往返代碼生成,不只是生成一次或兩次,然後放棄時,我必須做手動更改。 e)我不想要一個倒退的解決方案:用註釋編寫C#並生成數據庫模式。當你需要微調模式時,國際海事組織會吮吸並擰緊你。 DB代碼應該從數據庫模式向上驅動,而不是代碼向下。

我不得不說,看來GenWise可以做到這一切。有沒有人使用過一段時間,包括迭代數據庫模式更改和重新生成代碼,同時還要定製代碼中的業務對象/邏輯?

回答

0

我已經使用了像CodeSmith或MyGeneration這樣的基於模板的工具,並且我也使用了類似於GenWise的工具,比如LLBGen,儘管我從來沒有用過這個工具。

我個人更喜歡基於模板的工具。恕我直言,他們給你更多的控制權和微調你生成的代碼的可能性。有了像LLBgen這樣的工具,我的經驗有點受到限制,但我不喜歡這樣一個事實,即我在生成之前不理解所有生成的代碼。像LLBGen這樣的工具可以更快地完成工作,但如果你是一個控制怪胎,並且想知道生成的代碼的作用,那麼你需要瀏覽所有生成的代碼並理解它的工作原理。

btw幾年前,我已經從這種方法轉向域驅動設計,但在少數情況下,我仍然發現從數據庫生成代碼是一個更好的解決方案。