2013-02-22 46 views
0

我試圖動態更改連接字符串的實體框架(V4.4)方面,我得到這個錯誤:嘗試讀取或實體寫入保護內存架構

System.AccessViolationException了未處理

消息:試圖讀取或寫入受保護的內存。這通常表明其他內存已損壞。

導致錯誤的代碼如下所示(我更改了名稱)。

private Project1.Data.Context _db; 

public ConstructorMethod(string connectionString ="") 
{ 
    _db = new Project1.Data.Context(); 
    _db.Database.Connection.ConnectionString = connectionString; 
} 

這是一個DAO類來保存數據訪問方法和構造我想通過連接字符串,但由於某種原因,我無法得到它的工作。有沒有其他方法可以通過構造函數傳遞連接字符串?

本網站上關於此錯誤的所有帖子似乎都與EF無關。

編輯 當嘗試在一個單獨的項目與最小的代碼。我得到了以下錯誤:

關鍵字不支持:「元數據」

這使我找到我下面張貼的解決方案。我仍然想知道爲什麼會發生這種情況,因爲它似乎可以在MVC 4應用程序中使用。

回答

1

添加一個構造函數,它允許通過一個連接字符串中生成的上下文類文件解決我的問題

public SomeContext(string connectionStringOrName) 
     : base (connectionStringOrName) 
    { 
    } 

我還是想知道爲什麼出錯,因爲它確實如上面提到的在其他項目上工作使用相同版本的實體框架。

相關問題