2014-11-15 48 views
0

我使用Visual Studio 2013,Entity Framework 6.0。 到目前爲止,我在應用程序配置中有連接字符串,並且工作。 數據庫上下文是通過添加「ADO .Net實體數據模型」創建的,並帶有「EF designer from database」選項 但現在我需要將它移動到代碼中,因爲它取決於用戶輸入。實體框架6.0:如何在代碼中配置連接時使用edmx上下文?

我跟着這個例子連接字符串和我的數據庫連接成功 http://msdn.microsoft.com/library/vstudio/bb738533

但現在我需要用我的數據庫環境的連接,我不能完成這件事。 假設我的數據模型被命名爲MyDB,那麼MyDB.edm下有MyDB.Context.cs,並且有從DbContext派生的MyDBEntities類。

我重新創建了數據模型,但這次沒有選擇將連接字符串存儲在應用程序配置中的選項。結果的第一個區別是MyDBEntities現在只被稱爲Entities。爲什麼?

我看到DbContext有一個接受EntityConnection的構造函數。 我能夠用連接創建一個DbContext,但是它沒有與MyDB.edmx下的數據類型鏈接。 MyDBEntities(或更改後的實體)沒有接受EntityConnection的構造函數。

那麼如何使用生成的edmx模型,但在運行時配置/打開連接?

回答

0

找到它。 OK,所以在EF 6.0中,DbContext不再具有接受連接的構造函數,但有一個接受連接字符串的構造函數。

只需修改生成的代碼,並添加以下構造:

公共實體(字符串connectString中):基座(connectString中){}

然後直接傳遞連接字符串和它的工作。

相關問題