2014-03-31 48 views
0

我正在構建一個.NET應用程序,其中必須爲每個用戶創建一個單獨的數據庫。然後通過UI用戶可以設置不同的設置並根據設置數據庫可以有不同的格式。格式不能預定義,因爲用戶可以更改表格列,刪除一些,添加新的,添加新表格。.NET。動態數據庫模式

我想知道構建應用程序持久層的最佳方法是什麼。可以使用Entity Framework或NHibernate來支持動態數據庫結構嗎?

謝謝。

更新

的這種要求的原因是,系統必須能夠存儲配置格式的記錄。現在我想爲此使用SQL Server,並且我有這方面的經驗。最初我想使用MongoDB,但它似乎不適合像CMS這樣的關係鏈接很自然的系統。那麼RavenDB等其他系統又如何呢?

回答

1

如果以這種方式允許用戶指定的,鬆散定義的類型,則必然會放棄強類型ORM層的優勢。如果這就是你必須做的事情,那麼你應該放棄嘗試使用ORM,並使用更靈活的數據集和數據讀取器回退到ADO.NET風格的數據訪問。

一箇中間基礎是將這些用戶定義的類型序列化爲JSON或XML,並在需要時將其解析出來。這樣,您仍然可以使用ORM來強化類型的應用程序部分。