我們正在設計我們的新產品,其中將包括多租戶。它將用ASP.NET和C#編寫,可能託管在Windows Azure或其他雲託管解決方案上。多租戶和用戶可定義的形式
我們一直在尋找MVC和其他技術和,說實話,我們感到在不同的首字母縮寫(MVC,EF,WCF等等,等等)陷入困境。
我們的應用程序的特定要求導致頭痛 - 用戶將能夠字段添加到數據庫,甚至創造了一個全新的模塊。
其結果是,每個承租人將具有與不同的結構的數據庫,以使用該系統的所有其他租戶。我們設想每個租戶都有自己的數據庫,而不是共享數據庫。
(將字段等添加到系統中將使用Web界面完成)。
一切都很好,但問題出現在爲MVC創建數據模型時。修改數據模型編程方式將字段添加到表似乎是不可能的,根據這個鏈接:
這對我們是一個大難題。即使我們不使用MVC,我想我們仍然想創建一個數據模型(可能與LINQ to SQL一起使用)。
我們正在考慮其中具有與場的負載表,和而不是添加字段添加到數據庫中,我們當用戶希望將字段添加到他的形式在表中分配現有字段。不知道我喜歡那個想法。
當然,我們不必使用MVC或實體框架,但在我看來,這些都是那種,微軟將引導我們走向未來發展的技術。
有什麼想法?我假設我們不是世界上第一批考慮用戶可定製應用程序的想法的人。
我得到你來自哪裏 - 允許用戶更改架構是問題的根源。但是,我不認爲將用戶數據存儲爲字段中的xml是一個可行的解決方案 - 您將如何查詢該數據? – Matt 2010-10-07 15:30:58
我們最初的想法是將數據抽象或元數據存儲在xml中,但將數據存儲在sql server中。這導致我們遇到了如何在運行時創建數據模型的問題。 – Matt 2010-10-07 15:32:14
@Matt,我在想,如果你打算使用SqlServer Azure數據存儲,那你可以在這些自定義字段上進行xml查詢。 – 2010-10-08 07:50:40