zoukankan      html  css  js  c++  java
  • CodeFirst+MySQL+.Net Core配置详情

    EF 基础操作:http://www.cnblogs.com/M-LittleBird/p/5852395.html

    一、使用CodeFirst模式

         1、在需要添加的项目上右键点击选择添加ADD.NET 实体数据模型。

    2、选择模型内容,选择CodeFirst模型,选择自己需要的类型,这里我选择空的CodeFirst模型

    3、选择模型后再当前项目中生成 会默认引用 ef 相关 dll,还需要添加mysql相关dll,使用NuGet 安装mysql

     

    添加成功后再项目中会生成以下两个文件

    4、修改App.config中的 数据库连接字符串

    mysql

    <connectionStrings>
        <add name="MyContext" connectionString="server=127.0.0.1;user id=root;password=;persistsecurityinfo=True;database=schedule" 
         providerName="MySql.Data.MySqlClient" />
    </connectionStrings>

    sql server

    <connectionStrings>
        <add name="MyContext" connectionString="Data Source=.;Initial Catalog=xxxx;Persist Security Info=True;User ID=xx;Password=xxx;Connect Timeout=120;" 
         providerName="System.Data.SqlClient" />
    </connectionStrings>

    5、重名名 Model1 为 MyContext 并修改内容,修改如下

    namespace BooksStore.Domain
    {
        using MySql.Data.Entity;
        using System;
        using System.Data.Entity;
        using System.Linq;
    
    
        [DbConfigurationType(typeof(MySqlEFConfiguration))]
        public class MyContext : DbContext
        {
            //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
            //使用“Model1”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
            //“BooksStore.Domain.Model1”数据库。
            // 
            //如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“Model1”
            //连接字符串。
            public MyContext()
                : base("name=MyContext")
            {
            }
    
            //为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First  模型
            //的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109//这是示例 改为自己的实体类
            public virtual DbSet<MyEntity> MyEntities { get; set; }
        }
        //这是示例 改为自己的实体类
        public class MyEntity
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    }

     注:实例类名称建议同数据库表名保持一致,这里默认把类名当作数据库表名。

    ASP.NET CORE 中配置

    直接复制上面的MyContext类到core项目中。

    使用NuGet添加包:Pomelo.EntityFrameworkCore.MySql。

    Startup类中注册服务,修改如下:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        //注册mysql服务
        services.AddDbContext<SMContext>(options => options.UseMySql(Configuration["ConnectionStrings:DefaultConnection"]));
    }

    appsettings.json中添加数据库字符串配置,配置如下:

    {
      "ConnectionStrings": {
        "DefaultConnection": "server=127.0.0.1;user id=root;password=123456;persistsecurityinfo=True;database=schedule",
        "DotNetCoreConnection": "Server=(localdb)\mssqllocaldb;Database=DotNetCoreDb;Trusted_Connection=True;MultipleActiveResultSets=true"
      },
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      }
    }
  • 相关阅读:
    Python+selenium+unittest的GUI自动化框架实现
    新手学习selenium路线图(老司机亲手绘制)学前篇(转上海悠悠)
    jmeter需要登录才会返回的接口验证
    python、java大作战,python测试dubbo接口
    eclipse生成doc文件乱码
    读书笔记:读完互联网测试经验的感受
    关于全功能团队及测试人员的发展
    一个Junit做单元测试的简单例子
    python搭建简单的web服务器
    我的第一篇博客
  • 原文地址:https://www.cnblogs.com/miskis/p/6674386.html
Copyright © 2011-2022 走看看