2013-04-15 23 views
1

我可以使用多個上下文來創建數據庫(.sdf)文件嗎?我想在一個.sdf文件中有多個表。.sdf文件中的多個表wp7/wp8

例如,

  1. 上下文useraccount與表模式
  2. 上下文messages與表模式

我曾嘗試已經:

using (dataContext accountdb = new dataContext(globalInfo.strConnectionString)) 
{ 
      if (accountdb.DatabaseExists() == false) 
      { 
       accountdb.CreateDatabase(); 
      } 
      else 
      { 

      } 
} 

我想這樣:

使用帳戶上下文和消息上下文創建一個單一的.sdf文件。

在此先感謝您的幫助,非常感謝。

+0

在同一個數據庫中有多個上下文不是一個好主意,它會導致你各種痛苦的鎖定問題,無法使用DatabaseSchemaUpdater類。你可以在每個上下文中有多個表,並在你的應用程序中有多個sdf文件。要做到這一點,唯一的方法是在你的應用程序中包含一個空數據庫,並且已經存在兩組表。 – ErikEJ

+0

我知道這種情況,我可以在其中添加由Visual Studio生成的空文件,但應用程序的用戶在第一次運行時使用密碼創建時會加密數據庫文件。問題就在於此。 – jamdownian

+0

這是一個好主意,以揭示您的問題中的所有信息... – ErikEJ

回答

2

猜測沒有編碼器,累了的時候一定要編碼。答案很簡單,只需在一個上下文中添加表格即可。

class dataContext:DataContext 
{ 
    public dataContext(string connectionString): base(connectionString) 
    { 

    } 
    //1------------ 
    public Table<account> accountees 
    { 
     get 
     { 
      return this.GetTable<account>(); 
     } 
    } 
    //2-------------- 
    public Table<messages> messagees 
    { 
    get 
    { 
    return this.GetTable<messageCategory>(); 
    } 
    } 
    //3--------------- 
    public Table<test> testees 
    { 
     get 
     { 
      return this.GetTable<testCategory>(); 
     } 
    } 
} 

感謝ErikEJ爲我指出了正確的方向。

+0

此外,與約定,類首先大寫和你的財產的名稱。 –