zoukankan      html  css  js  c++  java
  • NetCore+MySql+EF 数据库生成实体模型

    NetCore版本    2.1

    1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台”

    分别安装以下几个包

    Mysql 版本:

     MySql.Data.EntityFrameworkCore                  V-8.0.16  
     Pomelo.EntityFrameworkCore.MySql                 V-2.1.1
     Microsoft.EntityFrameworkCore.Tools                V-2.1.1
     Microsoft.VisualStudio.Web.CodeGeneration.Design        V-2.1.1

    2.在程序包包管理器控制台   中执行以下语句生成 实体类

    Scaffold-DbContext "server=.;userid=;pwd=xxx;port=3306;database=;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force

    参数说明:

    -OutputDir *** 实体文件所存放的文件目录
    -ContextDir *** DbContext文件存放的目录
    -Context *** DbContext文件名
    -Schemas *** 需要生成实体数据的数据表所在的模式
    -Tables *** 需要生成实体数据的数据表的集合
    -DataAnnotations
    -UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)
    -Force 强制执行,重写已经存在的实体文件

    在这里需要注意的问题 

    项目结构

    1.Web

    2.Entity

    1.实体生成在Entity 中,但是Pomelo.EntityFrameworkCore.MySql  报错 了,但是在Web项目中就能生成

    解决方案 主项目添加实体项目的依赖 问题解决

    2.从数据库读取到内存时  报了错误 显示 

    Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper

    原因是因为Pomelo.EntityFrameworkCore.MySql 的版本 V2.0.0 改成 V2.1.1 的解决问题

    综上  nuget 的引用 安装的时候自动会检测 依赖会大大降低 包版本的问题,但是 有的问题还是不能自定检测出来。

    如果想避免此类的问题尽量引用相同版本的包!

  • 相关阅读:
    css技巧---电子表体字体引入
    解决for循环,暂停3s,在执行下次循环
    node 将汉字转化为拼音
    针对CMS中的tag标签理解
    博客园上传markdown文件方法
    正则表达式匹配非某字符串的情况
    ubuntu 20.04 MySQL的workbench无法连接
    在ubuntu20.04上使用Navicat客户端
    如何提升git clone的速度
    jenkins出现故障,报错HTTP ERROR 403 No valid crumb was included in the request
  • 原文地址:https://www.cnblogs.com/smalldragon-hyl/p/10783577.html
Copyright © 2011-2022 走看看