1. 程式人生 > >.NET EF Core2.0 (DBFirst)使用與配置

.NET EF Core2.0 (DBFirst)使用與配置

contex 字符 tdi sch 命令行 reac onf tar 數據庫連接字符串

本文環境:vs2017 win10 .NET CORE 2.14

其次,如果你是Windows7系統 那麽需要升級你的Windows PowerShell到3.0+的版本

然後你需要安裝相關的工具包,從NuGet下載即可如下圖:

技術分享圖片

為了方便你們復制..我列一下:

Microsoft.EntityFrameworkCore  EF框架核心包

Microsoft.EntityFrameworkCore.SqlServer  sql數據庫需要,類似的還有mysql、oracle。

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.Design  

Microsoft.EntityFrameworkCore.SqlServer.Design

然後,我們在VS的工具選項中,選擇NuGet包管理器,選擇程序包管理控制臺

輸入命令行:

Scaffold-DbContext "這裏輸入你的數據庫連接字符串" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Models 是生成該項目下的Models文件內。

這裏面就是你的上下文對象和相關的實體類了.

我們進到上下文對象,會發現自己的連接字符串是固化在這裏面的,如圖:

技術分享圖片

連接字符串當然不能在這裏寫死,可以在Startup.cs裏獲取appsettings.json配置文件存在緩存裏,直接使用。

在配置文件裏添加連接字符串

 "ConnectionStrings": {
    "SchoolConnection": "Server=*;database=***;pwd=***;uid=***"
  }

然後我們在Startup中註入我們的上下文對象:

在ConfigureServices()方法中註入,代碼如下:

public void ConfigureServices(IServiceCollection services)
        {
            Connection.Conndb = Configuration.GetConnectionString("
SqlServer"); //配置EF的服務註冊 services.AddDbContext<DbContext>(options => { options.UseSqlServer(Connection.Conndb, //讀取配置文件中的鏈接字符串 b => b.UseRowNumberForPaging()); //配置分頁 使用舊方式 }); services.AddMvc(); }

然後就可以像,EF6那樣使用了

Context db = new Context();
            var result = db.User.Where(a=>a.Id!=0);
            string str = null;
            foreach (var item in result)
            {
                str += item.RealName;
            }

.NET EF Core2.0 (DBFirst)使用與配置