2010-07-15 102 views
0

實體所以,我有我的數據庫來分類,如:模型動態創建 - 使用Asp.Net MVC

Products_001 Products_002 Products_003

比方說,如果一個客戶登錄和他的ID是001,他只有權使用數據庫表products_001。

我可以動態創建他的模型 - 使用Asp.Net MVC的實體,以及我將如何做到這一點?

回答

4
ProductsBase products = Activator.CreateInstance(
    "YourAssembly.Namespace", 
    "Products_" + Login.Id); 

http://msdn.microsoft.com/en-us/library/d133hta4.aspx

您可能需要爲您的不同產品類型的基類/接口

+0

很好的解決方案,我還沒有看到激活 – abarr 2010-07-15 08:30:19

+0

這是可擴展的解決方案之前....?例如,假設客戶爲他的網站使用這個「自定義模型」。 =>客戶端1有網站1,並使用表product_001 - 客戶端2有網站2,並使用表product_002 – NicoJuicy 2010-07-15 10:28:01

+0

這可能是另一個問題,你有這樣的結構,或者你正在考慮它的設計? – 2010-07-15 10:41:06

0

NicoJuicy,

我們處理這個問題的方法是有一個通用模型(使用EF)和每個表的不同數據庫。當用戶登錄時,我們使用連接字符串和用戶信息將模型綁定到相應的Db。

如果這聽起來像你想讓我知道,我會發布更多的細節。

安德魯

+0

我認爲這個解決方案是非常耗費資源的(糾正我,如果我錯了) – NicoJuicy 2010-07-15 10:24:36

+0

我可能因爲我們有一個多租戶應用程序而欺騙了答案,所以一旦他們登錄,我們將EF模型綁定到該客戶端數據庫,是整個會議嗎? – abarr 2010-07-16 06:34:29