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

      

  • 相关阅读:
    web前端的发展态势
    AngularJs 简单入门
    css代码优化篇
    git提交报错:Please make sure you have the correct access rights and the repository exists.
    Activiti工作流框架学习
    遍历map集合的4种方法
    js设置日期、月份增加减少
    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    webservice_rest接口_学习笔记
    相互匹配两个list集合+动态匹配${}参数
  • 原文地址:https://www.cnblogs.com/weshadow/p/8594689.html
Copyright © 2011-2022 走看看