zoukankan      html  css  js  c++  java
  • 关于Mac上使用Visual Studio .net core dbfirst问题记录

      首先关于mac上终于有了个功能比较强大的visual studio工具感到无比的兴奋。虽然一直比较懒惰,没有去研究core。昨天突然着手开始使用mac上开发.net core就发现了一些意想不到的问题。也许是microsoft的新东西,资料也不好找,也不算很全,可能有些还没有官网的详细。所以把遇到的各种问题准备一一记录下来。

      .net entityframeworkcore dbfirst使用:

      1、新建.net core 库文件,将entityframeworkcore必要的包Microsoft.EntityFrameworkCore.Tools加入。另外我使用的是mysql数据库,对应mysql支持的两个比较好用的包也一并加入。Pomelo.EntityFrameworkCore.Mysql、Pomelo.EntityFrameworkCore.Mysql.Design

      2、生成过后,点击项目右键弹出终端输入dotnet ef时出现错误。原因和大多数网上windows平台使用一样,需要打开项目文件进行编辑,加入

     <ItemGroup>

        <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />

      </ItemGroup>

     

    这样一个配置生成即可使用。

      同时顺便在<PropertyGroup>中加入

    <RuntimeFrameworkVersion>2.0.3</RuntimeFrameworkVersion>

    这样一句话(其实我之前一直失败也很多是因为这个地方的原因,这是core sdk运行时的版本)

      3、以上都加入保存过后生成,继续使用项目目录终端,输入dotnet ef就可以看到可爱的独角兽了。

      4、dbfirst生成代码,数据库我是早设计好了几个表的。在使用命令

    dotnet ef dbcontext scaffold "server=localhost;uid=root;pwd=XXX;database=XXX" "Pomelo.EntityFrameworkCore.Mysql" -o Models

    (在生成过程中发现,现在Pomelo.EntityFrameworkCore.Mysql已经更新到2.1.1版本,用这样的方法生成一直报错,所以我一直引用的2.0.1包版本生成。暂时没有解决这个问题。)

      生成时一直生成不了,报错也是说Microsoft.NetCore.App的报错误。测试过更新.netcore包,修改过之前配置的runtime版本号与现在使用依赖的是同样的均不好使。最后也是在官网找到个办法。

      https://www.microsoft.com/net/learn/get-started/macos

      从官网下载最新的core SDK,进行安装。安装完成后在进入项目目录终端输入生成命令发现能够成功。

      最后总结了一下,其实报错提示的还是很明确,一直都提示的runtime没有找到。但是我一直进入了一个误区。包括我后来新建过一个core mvc项目测试跑起来发现没有问题,一直以为.net core的包环境是没有问题的。直到后来发现在mac上,dbfirst生成是在根目录下寻找对应的.net core包环境,现在官网对应的版本是2.0.6,所以同样的

    <RuntimeFrameworkVersion>2.0.6</RuntimeFrameworkVersion>也修改成相同的版本号之后生成,一次解决。为了Dbfirst生成卡了我几个小时,这一下通了无比开心,也是发现了能在mac上开发的乐趣。特意的也来记录一下以免以后又遇到相同问题,或者是在其他平台上使用时能够有个借鉴。

      

  • 相关阅读:
    Linux日常之命令sort
    Linux日常之命令sed
    Linux日常之命令grep
    Linux日常之命令awk
    Linux日常之命令tee
    Linux日常之数据重定向
    Hibernate打印SQL及附加参数
    使用D3 Geo模块画澳大利亚地图
    基于Spring-WS的Restful API的集成测试
    做项目时需要考虑的安全性问题
  • 原文地址:https://www.cnblogs.com/weshadow/p/8594689.html
Copyright © 2011-2022 走看看