EF 6 System.Data.Objects.ObjectContext Error

前端 未结 10 628
孤独总比滥情好
孤独总比滥情好 2020-12-03 09:40

I recently upgraded from Entities Framework 5 to Entities Framework 6 Alpha 2 and I am getting the following error:

Method not found: \'System.Data.Ob

相关标签:
10条回答
  • 2020-12-03 10:23

    A quick and simple fix for me was to remove the offending assemblies (deprecated) and added a reference to the new library. The code was modified within the Context.tt and looks like this:

    if (container.FunctionImports.Any())
    {
    #>
    using System.Data.Entity.Core.Objects; // The assembly you need
    using System.Linq;
    <#
    }
    

    Before any modifications it had appeared as such:

    if (container.FunctionImports.Any())
    {
    #>
    using System.Data.Objects; // Error on compile
    using System.Data.Objects.DataClasses; // Error on compile
    using System.Linq;
    <#
    
    0 讨论(0)
  • 2020-12-03 10:29

    Check This Link

    http://visualstudiomagazine.com/articles/2014/03/01/whats-new-in-entity-framework-6.aspx

    I Updated the EF 6.2 and get same error and find the solution as fallows

    Change the namespace System.Data.Entity to System.Data.Entity.Core, including any references to System.Data.* namespaces (for example, System.Data.Objects becomes System.Data.Entity.Core.Objects).

    0 讨论(0)
  • 2020-12-03 10:30

    EF 6 does not have System.Data.Objects.ObjectContext. EF 6 has moved some types, including ObjectContext, from System.Data.Entity.dll into EntityFramework.dll, and changed their namespaces. The fact that you get this error suggests you haven't attempted to recompile your application, you've simply replaced EntityFramework.dll and hoped for the best. That won't work. You need to update your code to work with EF 6: you need to remove your references to System.Data.Entity.dll, and update your code to refer to the new types.

    It just might be possible for the reference to the IObjectContextAdapter.ObjectContext property to be in some library you're using, but most likely it'll be in your own code. The error message (in the part you didn't include in your question) should tell you where it is coming from.

    0 讨论(0)
  • 2020-12-03 10:33

    What worked for me was the following:

    1. Install the dll 'Microsoft.AspNet.DataSource' with:

      PM> Install-Package Microsoft.AspNet.EntityDataSource

    2. Reference 'Microsoft.AspNet.DataSource.dll' in your project.

    3. Added the following using declarations:

      using System.Data.Entity.Core.Metadata.Edm;

      using System.Data.Entity.Core.Objects;

      using Microsoft.AspNet.EntityDataSource;

    4. Removed the following using declarations:

      using System.Data.Entity;

      using System.Data.Metadata.Edm;

      using System.Data.Objects;

      using System.Web.UI.WebControls;

    Voila, code is compiling and working.

    0 讨论(0)
提交回复
热议问题