2010-02-10 111 views
0

是否有可能使用nHibernate或Entity Framework或其他方法來生成INSERT或UPDATE映射到表的對象所需的SQL?我正在從這些POCO類生成SQL腳本,而不是直接針對數據庫運行。爲POCO對象生成SQL?

這裏的想法是我正在採取一些2000多行的SQL腳本,並且我做了一個基於Python的DSL,爲我們做了很多工作。我現在有一個C#應用程序,它加載IronPython並「編譯」Python腳本,生成所有必需的對象。這裏有一個原型腳本,大概有100行。現在,我需要實際生成SQL腳本。

我可以使用像nVelocity這樣的東西,但是如果這個項目成功了,我想保持對數據庫運行的長期開放。我有大約30張桌子,每張桌子上有幾十個專欄來編寫腳本。

我發現這一點,但它似乎是生成數據庫表結構,而不是寫插入和更新:https://forum.hibernate.org/viewtopic.php?f=25&t=1000334

SchemaExport文檔沒有給予很多的信息。

建議/意見?

+0

我知道這已經是個老問題了。有很多方法可以實現你要找的東西(最常見的是ORM),但是ORM並不總是最好的解決方案(關於這個在線題目的很多討論) - 我自己 - 我喜歡微型手臂,但最大的他們的缺點是,你必須自己編寫SQL查詢 - 爲了解決這個問題,我決定編寫一個庫來從poco對象生成SQL(不需要觸摸或不必從庫DAL層引用其他庫)。想聽聽你的想法:https://github.com/developer82/Poco.Sql – developer82 2015-02-17 10:46:21

回答

0

我認爲這是不可能的。它可以生成模式,但是粗糙的sql在飛行中生成。

您可以使用生成T-sql的工具來對錶執行CRUD。

+0

你指的是什麼工具? – Amy 2010-02-10 16:37:37

+0

你在這裏: http://stackoverflow.com/questions/2037802/crud-sp-generator-for-sql-server-2008-r2 – 2010-02-11 07:12:50