0
我正在研究一個asp.net業務應用程序並使用nhibernate。我使用nhibernate的目標是最大限度地減少/避免在不同數據庫(Oracle,SQL Server,Postgres等)上的應用程序移植工作。nhibernate中的備用數據庫模式查詢
我有一個場景,我必須動態檢查數據庫表模式並在其上構建一些功能。首先想到的是創建存儲過程並將其移植到不同的數據庫上。我的存儲過程是這樣的......
SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = (
SELECT MasterTableName FROM SystemDocument WHERE DocId = @vDocumentID
)
現在我這裏有2個問題...
1是否有NHibernate的任何替代,避免存儲過程來實現這一點?
2 - 如果第一個問題的答案是NO :(那我該怎麼填一個DTO/POCO可以包含在列及其類型的表,而不與NHibernate映射呢?
我將很感謝您對此的建議。
感謝, 阿西夫
感謝您的答案,但如果我使用命名查詢,它不會是可移植的SQL Server以外的數據庫。有沒有什麼解決方法? – ak1 2010-02-22 15:05:37
是的,這是問題所在。我以前從來沒有真正處理過這個問題,但我想你需要爲每種方言使用這個查詢的多個版本。因此,具有相同命名查詢的多個hbm.xml文件只是不同的實現。然後,你必須記住根據方言使用正確的一個。 – dotjoe 2010-02-22 15:12:50