V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
noli
V2EX  ›  C#

如何在 .Net 4.6 的项目中安装 EF Core 2.0 ?

  •  
  •   noli · 2018-02-07 15:32:23 +08:00 · 4132 次点击
    这是一个创建于 2263 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Visual Studio 15.5.2 中,根据 这个 SO 问答
    https://stackoverflow.com/questions/44394243/entity-framework-core-2-0-on-net-4-6-1

    里面提到的几种方案都试过,没有成功。

    有谁实验成功过的?
    第 1 条附言  ·  2018-02-07 18:09:56 +08:00
    其实我的项目有另一个分支是 dotnet core 的,依赖 EF Core 2.0 不是问题。
    问题是,能否在 .Net Framework 和 dotnet core 下用同一套代码依赖 EF Core 2.0。

    EF Core 2.0 所基于的 dotnet core 2.0 是 承诺了 dotnet core 2.0 和 .Net Framework 4.6 之间的兼容性的,但是我没有找到实际可行的例子。

    我在 .Net Framework 4.6 下确实可以通过 EF6 加上一些 #if #else 在起初阶段部分解决兼容问题
    但最终我希望知道,是否能以更低的代价,相信微软的承诺, 兼容两个平台。
    qinxg
        1
    qinxg  
       2018-02-07 15:34:28 +08:00
    你这种情况用 ef7 不更好吗? 功能 API 更全面一些
    noli
        2
    noli  
    OP
       2018-02-07 16:15:51 +08:00
    qinxg
        3
    qinxg  
       2018-02-07 17:03:02 +08:00
    我的意思是 你装个.NET 版本下的最新的。 不碰 core 就行了
    noli
        4
    noli  
    OP
       2018-02-07 18:08:12 +08:00
    @qinxg

    感谢你的回复,我没有解释清楚我的实际状况。

    其实我的项目有另一个分支是 dotnet core 的,依赖 EF Core 2.0 不是问题。
    问题是,能否在 .Net Framework 和 dotnet core 下用同一套代码依赖 EF Core 2.0。

    微软是 承诺了这个兼容性的,但是我没有找到实际可行的例子。

    我在 .Net Framework 4.6 下确实可以通过 EF6 加上一些 #if #else 在起初阶段部分解决兼容问题
    但最终我希望知道,是否能以更低的代价,相信微软的承诺, 兼容两个平台。
    gs139
        5
    gs139  
       2018-02-07 18:12:38 +08:00
    把 EF Core 2.0 理解成了 cefsharp core 2.0
    Gosolin
        6
    Gosolin  
       2018-02-07 18:14:31 +08:00
    迁移到 .NET Core 项目然后把 TargetFramework 改成 net46,不知道可不可行
    Gosolin
        7
    Gosolin  
       2018-02-07 18:29:02 +08:00   ❤️ 1
    刚试了直接能装,楼主你需要用 4.6.1,实现 Standard 2.0 的最低版本是 4.6.1
    noli
        8
    noli  
    OP
       2018-02-07 18:57:30 +08:00
    @Gosolin

    刚刚我也开了一个空项目重新 Target 为 4.6.1 确实能装 EF Core 2.0。

    神奇的事情来了

    然后我再回头去搞原本的项目,然后。。。。就。。。能。。。装。。。了!!!!!
    0Kelvin
        9
    0Kelvin  
       2018-02-09 21:01:29 +08:00
    感觉还有很多很“神奇”的事情。我 EF 从 MSSQL2012 改到服务器的 2008,相同名字生成的实体模型( edmx )就是不能用,运行报错数据库版本不一致。换个名字重新生成就好了。(扶额。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2814 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:13 · PVG 21:13 · LAX 06:13 · JFK 09:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.