zoukankan      html  css  js  c++  java
  • .net core webapi+EF Core

    .net core webapi+EF Core

    一.描述:

    EF Core必须下载.net core2.0版本

    Micorsoft.EntityFrameworkCore:EF框架的核心包
    Micorsoft.EntityFrameworkCore.SqlServer:针对SqlServer数据库的扩展,使用SqlServer数据库必须。类似的还有MySql,SqlLite等
    Micorsoft.EntityFrameworkCore.Tools
    Micorosft.EntityFrameworkCore.Design:用户根据现有的数据库生成模型代码
    Microsoft.EntityFrameworkCore.SqlServer.Design

    二.EF安装:

    通过nuget方式:

    1.EF核心库安装:

    Install-package Microsoft.EntityFrameworkCore
    Install-package Microsoft.EntityFrameworkCore.SqlServer
    2.dbfirst需要的库:
    Install-package Microsoft.EntityFrameworkCore.Design
    Install-package Microsoft.EntityFrameworkCore.Tools
    Install-package Microsoft.EntityFrameworkCore.SqlServer.Design


    三.使用dbfirst方式生成实体及上下文对象:

    Scaffold-DbContext "Server=.;database=CommonPermission;User ID=sa;Password=123;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

    四.配置:

    通过上面的生成方式数据库配置直接在代码中,这种做法是不好的,应该移动到配置文件中:

    上下文类屏蔽数据库连接:

     protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                if (!optionsBuilder.IsConfigured)
                {
    #warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
                    //optionsBuilder.UseSqlServer("Server=.;database=CommonPermission;User ID=sa;Password=123;");
                }
            }


    在appsettings.json文件中配置:

    {
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "ConnectionStrings": {
        "SQLConnection": "Server=.;database=CommonPermission;User ID=sa;Password=123;"
      },
      "AllowedHosts": "*"
    }

    在Startup.cs文件中的ConfigureServices方法中注入上下文对象:

     //注入上下文对象
                services.AddDbContext<CommonPermissionContext>(x => x.UseSqlServer(Configuration.GetConnectionString("SQLConnection")));
                

    接下来的和net framework中的ef方式一致!

    
    
    
  • 相关阅读:
    linux查看存储盘
    aix中hd5对应什么设备?
    (转)Python 操作 Windows 粘贴板
    eclipse非主窗口的停靠(正常), 恢复, 最小化, 最大化的切换
    (转)HTML5 本地数据库(SQLite) 示例
    [译] 如何像 Python 高手一样编程?
    scrapy递归下载网站
    eclipse快捷键以及使用技巧大全
    python任意编码转utf8或者unicode
    apache快速配置简易网站
  • 原文地址:https://www.cnblogs.com/zlp520/p/10733404.html
Copyright © 2011-2022 走看看