我曾在MVC 2的時間表應用程序應用程序中供公司內部使用。現在其他小公司已經表現出對該應用的興趣。我沒有考慮過這個應用程序的使用,但它讓我對它意味着什麼感興趣。在Asp.Net MVC應用程序中以編程方式創建新數據庫?
我相信我可以通過修改數據庫(實體框架模型訪問的Sql Server)使它適用於多個客戶端。但我已經閱讀了一些倡導多個數據庫的人(每個客戶端一個)。因爲我不會冒險將各種客戶端的數據混淆在同一個數據庫中(當然不應該發生這種情況,但如果它真的發生了......),直觀地感覺這是一個好主意。但是如何特別實施多個數據庫解決方案?
I.e.只需一個數據庫,我就可以擁有一個客戶端註冊表,並且所需的所有數據都將以應用程序的方式添加,就像現在只有一個客戶端(我自己的公司)時一樣。
但是對於多數據庫解決方案,如何在用戶註冊時以編程方式創建新數據庫?請注意,我已經完成了所有使用Linq to Sql的數據庫內容,並且我對常規SQL編程不是很熟悉......
我真的很感謝如何做到這一點的清晰的詳細解釋(以及輸入關於這是一個好主意還是由於某種原因單個數據庫會更好)。
編輯:
我也看到了有關單個數據庫替代的討論,這表明你會再添加客戶端Id到每個表...但是那不是很難在代碼維護?我將不得不在我認爲的很多linq查詢中添加「where」條件......並且我假設每個表上都有一個ClientId意味着每個表都需要與Client表有多對一的關係?這不是一個非常複雜的數據庫結構嗎?
因爲它是現在(未經客戶表)我有以下表(1 - > *標明一對多的關係):
客戶1 - > *項目1 - > *任務1 - > * TimeSegment 1 - > *員工
此外,客戶與TimeSegment直接有一對多關係,爲了方便簡化某些查詢。
到目前爲止,這工作得很好。難道只有一個客戶表(或用戶公司或任何人可能稱之爲)與客戶表有一對多的關係嗎?數據完整性不足以滿足其他表格,因爲其餘表格由關係處理?
感謝。不過,請參閱我的後續流程,瞭解如何處理單個數據庫關係? – Anders 2011-01-28 23:54:44
@Anders Svensson,編輯後續問題。 – 2011-01-29 04:36:00