2014-09-30 75 views
0

我有一個使用NHibernate和XML映射的項目。NHibernate:修改XML/XDoc映射以使用SQLite內存數據庫

我正在修改我的集成測試基礎架構,以便我可以使用內存中的SQLite數據庫而不是我們在生產中使用的SQL Server 2005數據庫。

但是,我有一個不屬於SQLite支持的屬性映射。該列有一種XML,而實體屬性有一種XDoc。

當我嘗試創建我的模式來建立我的數據庫:

SchemaExport se = new SchemaExport(configuration); 
se.Create(true, true); 

我得到的錯誤: System.ArgumentException:方言不支持DbType.Xml

我知道我可以在運行時修改我的映射,這就是我正在嘗試做的事情。但我無法弄清楚這個具體案例需要做什麼,所以我可以把它工作。任何幫助,將不勝感激。

回答

1

您可以嘗試繼承SQLite方言類(也可能是相應的NHibernate驅動程序類)以將XML類型映射到SQLite可以處理的其他類型。

+0

那麼,我仍然不確定實體是否能正常保溼,但是這讓我超越了映射問題。我對這個相當不透明的解決方案感到驚訝,因爲這個問題我預計會更普遍。 – 2014-10-02 12:30:15

+0

是的,我想這將取決於參數值的實際內存中表示與您在驅動程序中設置的任何DbType兼容。但是我認爲如果需要的話,我認爲驅動程序也可以轉換參數值。但這可能無助於保溼。不確定...如果它不起作用,你可以嘗試描述一個合理的NHibernate功能,你可以在https://nhibernate.jira.com/browse/NH/ – 2014-10-02 12:58:42

相關問題