2010-05-31 58 views
2

我目前正在研究一個類似於Steamworks的Web應用程序(如果你不知道它是什麼,它是一個存儲成就,統計等遊戲的服務)。C#LINQ&部署後添加數據庫

我在開發中遇到的主要問題是在部署應用程序後爲遊戲添加新數據庫。我正在使用LINQ-to-SQL來適當地查詢數據庫,但主要問題是,在部署應用程序後需要查詢額外數據庫時,我不確定如何使用不同數據庫結構查詢LINQ。

不得不添加一個新的DataContext,重新編譯並重新部署應用程序是不成問題的。我想通過一個插件結構做到這一點,但它不會工作,鑑於DataContext持有對列名稱的引用等。

有沒有人有任何建議如何克服這一點?我總是可以回到傳統的SQL查詢,但我不想。每個數據庫中的所有列名和結構都是相同的,只是添加新數據庫並讓應用程序使用它們是主要問題。

回答

2

如果跨越每個數據庫中的所有列名和結構是相同的,那麼也許你可以替換的DataContext的構造連接字符串,如下圖所示:

舊版本:

public DatabaseDataContext() : base("...your connection string...", mappingSource) 
{ 
    OnCreated(); 
} 

新版本:

public DatabaseDataContext() : base(Configuration.ConnectionString, mappingSource) 
{ 
    OnCreated(); 
} 

然後將所有連接字符串保存在外部文件/數據庫表中,並獲取您需要的或通過它們循環。 :)

希望我明白你的問題。

+0

感謝您的快速響應,我會給它一個。這似乎是我正在尋找的。 – 2010-05-31 14:13:15