2013-05-19 30 views
-1

我與實體famework工作我需要轉移的代碼備份在實體框架的數據庫

RESTORE DATABASE [showing8-5-2013] FROM DISK = N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Backup\Company.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 

到代碼實體框架的工作

任何幫助的感謝

+0

如果不是嘴上說說執行這段代碼,這將是不可能的。 – TGlatzer

+0

你也可以將你的代碼放入存儲過程並將其綁定到EF。 – TGlatzer

回答

1

EF是DB中性提供商概念。這些命令根據其性質DB特定。 EF公開了一種執行SQL命令的方法:

MyContext.Database.ExecuteSqlCommand(); 

但是,您也可以直接執行此操作。 您通過SQL命令到自定義程序如:

private static bool ExecuteSqlStatement(string connectionString, string statement) { 
     int rowsAffected; 
     using (var sqlConnection = new SqlConnection(connectionString)) { 
      using (var sqlCommand = new SqlCommand(statement, sqlConnection)) { 
       try { 
        sqlConnection.Open(); 
        rowsAffected = sqlCommand.ExecuteNonQuery(); 
       } 
       catch (Exception ex) { 
        // your handler or re-throw.... 
        return false; 
       } 
      } 
     } 

     return rowsAffected == -1; 
     // see http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx 
    } 
+0

MyContext.Database.ExecuteSqlCommand(); – Mohammedsaeed

+0

沒有出現在我的上下文 – Mohammedsaeed

+0

試試數據庫。 –