• .NET框架


    .NET框架 - NETCORE + API + EFCORE + MYSQL

    1. 新建项目:

     


    本文中使用 框架 .netcore2.2 。

     

     2. 生成项目框架

      

    3 安装MYSQL插件

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

    安装命令:install-package <程序包名> -version <版本号>

    分别安装以下几个包

    Mysql 版本:

    Install-Package MySql.Data.EntityFrameworkCore -Pre
    Install-Package Pomelo.EntityFrameworkCore.MySql
    Install-Package Microsoft.EntityFrameworkCore.Tools
    Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

    Sql server 版本:

    Install-Package Microsoft.EntityFrameworkCore
    Install-Package Microsoft.EntityFrameworkCore.SqlServer
    Install-Package Microsoft.EntityFrameworkCore.Tools
    Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

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

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

    --sql server 版本

    Scaffold-DbContext "Data Source=.;Initial Catalog=EFCore_dbfirst;User ID=sa;Password=sa.123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

    参数说明:

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

      4. 配置DBContext

    ASP.NET Core 应用程序连接字符串是写死在ConfigureServices代码中,下面介绍通过配置来实现。连接字符串可以存储在 appsettings.json、用户机密存储、其他配置源中。 下面示例演示appsettings.json 中存储的连接字符串,这样不管asp.net core在什么环境(Development、Staging 、Production)都能调用该文件。

    生成的DBContext中是包含数据库连接字段的,我们需要把它放在配置文件中。

     

    {
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "AllowedHosts": "*",
      "ConnectionStrings": {
        "MES_MySql": "server=localhost;userid=root;pwd=123456;port=3306;database=db1;sslmode=none;"
      }
    }

     通常在Startup.cs读取连接字符串。 使用GetConnectionString()方法查找配置值,该查询的格式:ConnectionStrings:<connection string name>其中键是connection

       // var connection = "Data Source = {ip}; Initial Catalog = EFGetStarted.AspNetCore.NewDb; User ID = hsr;Password =js*2015;";
       // var connection = Configuration.GetConnectionString("BloggingDatabase");
       // services.AddDbContext<EFGetStartedAspNetCoreNewDbContext>(options => options.UseSqlServer(connection));
       

          var connection = Configuration.GetConnectionString("MES_MySql");
          services.AddDbContext<db1Context>(options => options.UseMySQL(connection));

    5. 在webAPI应用程序中,使用依赖注入的方式。

     完成。 

      

    引用:https://www.cnblogs.com/yangjinwang/p/9516988.html

    引用:https://www.cnblogs.com/MrHSR/p/10364918.html

  • 相关阅读:
    文艺青年、普通青年、2b青年到底是什么意思?
    CMake快速入门教程:实战
    shell脚本中变量$$、$0等的含义
    工作上的C/C++相关
    C/C++的一些备忘
    shell基础二十篇 一些笔记
    C++中this指针的用法详解
    【C++11】新特性——auto的使用
    一个很不错的bash脚本编写教程
    容器
  • 原文地址:https://www.cnblogs.com/1285026182YUAN/p/10749872.html
Copyright © 2020-2023  润新知