2009-10-05 74 views
1

我有一個WPF應用程序,它從代碼內實體模型更新我的數據庫。有些情況下,它會在用戶連接時更新數據庫,我希望將其置於單用戶模式以避免錯誤。有沒有辦法在C#中將數據庫設置爲單用戶模式?

我也想避免使用sql。我知道我可以使用運行SQL:

DataContext.ExecuteCommand("ALTER DATABASE...") 

我寧願在C#庫使用命令來做到這一點,但我不知道去哪裏找。

有沒有辦法將數據庫設置爲SUM而不使用SQL?

回答

3

所以我用了SMO服務器對象是這樣的:

Server server = GetServer(); 
     if (server != null) 
     { 
      Database db = server.Databases[Settings.Instance.GetSetting("Database", "MyDB")]; 
      if (db != null) 
      { 
       server.KillAllProcesses(db.Name); 
       db.DatabaseOptions.UserAccess = DatabaseUserAccess.Single; 
       db.Alter(TerminationClause.RollbackTransactionsImmediately); 

的問題是,這個開得比我的DataContext這樣一個不同的連接踢自己關閉,而不是讓我訪問數據庫。最後,我不得不恢復使用SQL。

相關問題