最近可貴有時間閒下來,研究了一下.net core 2.0,總的來講,目前除了一些第三方的庫不支持外,基本上能夠知足咱們的項目需求了!web
咱們就以一個網站開發爲例,搭建一個簡單的三層架構,先熟悉一下.net core 2.0的開發流程!數據庫
首先,咱們新建項目,如圖:json
而後,咱們分別添加.net core類庫項目,NetCoreDemo.Repository(數據訪問層)和NetCoreDemo.Service(服務層),項目結構以下:架構
項目中, NetCoreDemo.Repository至關於三層中的DAL層,主要是與數據庫交互!爲了實現web項目和數據庫解耦,方便未來更好數據庫,咱們在NetCoreDemo.Repository中安裝EntiryFrameWorkCore,這裏咱們以SQL Server爲例,安裝下面兩個安裝包,在程序包管理控制檯執行如下命名或者用Nuget包管理器安裝都可:app
Install-package Microsoft.EntityFrameworkCore
Install-package Microsoft.EntityFrameworkCore.SqlServer
而後,咱們新建DbContext類,如MyDbContext,繼承自DbContext,代碼以下:框架
using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; namespace NetCoreDemo.Repository { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<User> Uesrs { get; set; } } }
這裏,咱們新建一個User類做爲測試,代碼以下:測試
public class User { [Key] public int Id { get; set; } public string UserName { get; set; } public string Password { get; set; } }
如今,DbContext建好了,下面咱們鏈接數據庫,還差一個數據庫鏈接字符串,這個鏈接字符串咱們一般是放在webconfig中的,那麼.net core中應該放到哪裏呢?網站
咱們來到web項目下,看到有一個appsettings.json,裏面內容以下:ui
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } } }
咱們就把數據庫鏈接字符串放到這裏吧,改完後,其內容以下:spa
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "ConnectionStrings": { "SqlServer": "Data Source=.;Initial Catalog=netcore;User Id=sa;Password=123456;" } }
既然咱們是Code First,下面準備建立數據庫,生成表,執行Migration!
咱們修改Startup.cs,修改ConfigureServices方法以下:
public void ConfigureServices(IServiceCollection services) { var connection = Configuration.GetConnectionString("SqlServer"); services.AddDbContext<MyDbContext>(options => options.UseSqlServer(connection, b => b.MigrationsAssembly("NetCoreDemo"))); services.AddMvc(); }
這裏須要注意的是,咱們經過Configuration方法讀取appsetting.json中的鏈接字符串,而後調用AddDbContext方法,把鏈接字符串傳進去,這裏要設置MigrationsAssembly爲當前web項目,(這裏你們能夠試一下不設置這個,會報一個錯誤),這是由於咱們執行Migration是在web項目下,下面咱們打開DOS窗口,開始 -> 運行 -> CMD,定位到web項目根目錄下,執行以下命令:
dotnet ef migrations add v1
這裏,咱們看到出現了錯誤,如圖:
這裏,咱們修改項目文件,在項目上面右鍵,打開項目文件,如圖:
在裏面添加以下代碼(任意位置都可):
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" /> </ItemGroup>
加完後,如圖:
而後,咱們再次執行命令:
dotnet ef migrations add v1
若是出現Build faild的錯誤,從新生成一下項目,而後再次執行,執行成功後,如圖:
這一步成功了,也就意味着,咱們後面的路會很順利了,下面咱們更新到數據庫,執行命令:
dotnet ef database update
等待一小會兒,執行成功後,咱們會發現數據庫中已經生成了咱們的數據庫和表了,這裏我就不截圖了,上傳圖片實在是太慢了~~
上面,咱們已經完成了數據庫的建立,後面就能夠開開心心的寫代碼了~~
做者:雲霏霏
QQ交流羣:243633526
博客地址:http://www.cnblogs.com/yunfeifei/
聲明:本博客原創文字只表明本人工做中在某一時間內總結的觀點或結論,與本人所在單位沒有直接利益關係。非商業,未受權,貼子請以現狀保留,轉載時必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
若是你們感受個人博文對你們有幫助,請推薦支持一把,給我寫做的動力。