2012-04-05 103 views
0

我想從DbContext訪問底層的數據庫和連接對象,以便在庫例程中運行一些SQL「舊式」。這個庫例程使用DbContext,因爲它可以從許多地方調用。這個工作在4.1然而,隨着4.3.1我得到錯誤...實體框架4.3.1 DBContext連接

下面是相關的代碼

using (testentities te = new testentities()) 
{ 
    var result = CallGeneric(te, some parameters); 
} 

public static Results CallGeneric(DbContext db, some parameters); 
{ 
    var connection = (SqlConnection)db.Database.Connection; 

    // do some stuff here 

} 

在EF 4.1這個工作的輪廓,我能夠直接使用的連接。我使用NuGet更新到EF 4.3.1,這不再有效。關於如何到底層連接的任何想法?

+0

您能否詳細說明「不再有效」部分?我只是嘗試以你的方式獲得連接,併爲我工作。請注意,我獲得的連接已關閉,因此爲了「做一些事情」,我需要打開它。此外,DbContext.Database類上還有SqlQuery和ExecuteSqlCommand方法,可能對您有用。 – Pawel 2012-04-07 04:18:26

+0

問題是我自己的「DLL地獄」的小版本。原來我需要卸載EF 4.1 *然後*安裝EF 4.3.1。一旦完成,一切都按預期工作。 – 2012-04-09 18:08:20

回答

0

解決方案是卸載EF 4.1,然後重新安裝EF 4.3.1