关于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上开发的乐趣。特意的也来记录一下以免以后又遇到相同问题,或者是在其他平台上使用时能够有个借鉴。

  

转载于:https://www.cnblogs.com/weshadow/p/8594689.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值