EF 6 System.Data.Objects.ObjectContext錯誤

asp.net-mvc asp.net-mvc-4 azure-sql-database c# entity-framework-6

我最近從實體框架5升級到實體框架6 Alpha 2,我收到以下錯誤:

找不到方法:'System.Data.Objects.ObjectContext System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()'。

我打電話時會受到打擊

if (Membership.ValidateUser(model.UserName, model.Password)) {}

這曾經工作得很好,不知道為什麼它會引發這個錯誤。有什麼建議麼?

一般承認的答案

EF 6沒有System.Data.Objects.ObjectContext 。 EF 6已將某些類型(包括ObjectContext )從System.Data.Entity.dllEntityFramework.dll ,並更改了其名稱空間。您收到此錯誤的事實表明您沒有嘗試重新編譯您的應用程序,您只需替換EntityFramework.dll並希望最好。那不行。您需要更新代碼才能使用EF 6:您需要刪除對System.Data.Entity.dll的引用,並更新代碼以引用新類型。

對於IObjectContextAdapter.ObjectContext屬性的引用可能在您正在使用的某個庫中,但很可能它將在您自己的代碼中。錯誤消息(在您未在問題中包含的部分)應告訴您它的來源。


熱門答案

對我來說,更新以下工作:
using System.Data.Objects; --> using System.Data.Entity.Core.Objects;

using System.Data.Objects.DataClasses; --> using System.Data.Entity.Core.Objects.DataClasses;




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因