.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方式一致!

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM