zoukankan      html  css  js  c++  java
  • Entity Framework 6 编译出错的问题(VS2012)

    更新:其实这个问题是由于VS2012的EF代码生成模板是EF 5.x的,自然会与EF6 的runtime不兼容。起初我按照更新前的方式解决了,后来却发现会出现不止这一处命名空间发生改动而导致的问题。

    VS2012默认的EF代码生成模板:

    解决方法:

    1. 下载安装 Entity Framework 6 Tools for Visual Studio 2012 & 2013

    2. 在VS工程里删除 *.tt模板。

    3. 在Model Designer中右键选择Add Code Generation Item,然后选择EF6的模板EF 6.x DbContext Generator

    4. 保存,重新编译。

    参考:

    Upgrading to EF6

    Get Entity Framework

    原来EF包括tools和runtime啊。作用顾名思义。原来我之前用NuGet安装的只是runtime...尴尬啊尴尬~

    安装好之后再创建新的项目就不用这么麻烦了,会自动使用EF6的模板。总结起来就是 - 使用方法不对。。。 

    ---------------------------------- 以下是更新前 ------------------------------------------

    在VS2012中使用EF6上来建立一个Entity Data Model后啥都不干,编译都会报错。

    错误如下:

    Value of type 'System.Data.Objects.ObjectParameter' cannot be converted to 'System.Data.Entity.Core.Objects.ObjectParameter'.

    Value of type 'System.Data.Entity.Core.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)' cannot be converted to 'System.Data.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)'

    Google一搜有很多,最符合的在这里

    解决方法:

    法一:回退到EF5

    法二:将*.Context.tt文件中的

    using System.Data.Objects;
    using System.Data.Objects.DataClasses;

    替换为

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

    原因就是名称空间冲突了。

  • 相关阅读:
    WHU 1540 Fibonacci 递推
    CSU 1378 Shipura 简单模拟
    UVALive 6486 Skyscrapers 简单动态规划
    JAVA杂记
    JAVA的main方法
    Java中的System类
    认识理解Java中native方法(本地方法)
    JAVA导入支持类
    从UDP的”连接性”说起–告知你不为人知的UDP
    udp如何实现可靠性传输?
  • 原文地址:https://www.cnblogs.com/lx-nju/p/4789719.html
Copyright © 2011-2022 走看看