原文:ASP.NET Core 配置 EF 框架服務 - ASP.NET Core 基礎教程 - 簡單教程,簡單編程html
上一章節中咱們瞭解了 Entity Framework 的基本工做原理和 DbContext
,咱們也建立了一個本身的 HelloWorldDBContext
。 本章節咱們就來說講如何設置咱們的 EF 框架來連接到 SQLite 數據庫數據庫
要讓咱們的 EF 框架的 DBContext 可以運行起來,咱們須要更改一下應用程序的配置編程
咱們須要添加一個數據庫鏈接字符串,以便咱們的 HelloWorldDBContext
知道要去哪一個服務器以及要查詢哪一個數據庫json
咱們須要作如下工做:服務器
Startup
類的 ConfigureServices
方法中添加 EF 服務好吧,開始吧markdown
雙擊打開 AppSettings.json
文件,並添加如下數據庫鏈接字符串app
"database": { "connection": "Data Source=blogging.db" }
添加完成後,AppSettings.json
文件所有內容以下框架
{ "message":"Hello World!\n你好,簡單教程,你的網址是 www.twle.cn 嗎?", "database": { "connection": "Data Source=blogging.db" } }
咱們使用的是相對路徑,在
SQLite
中使用相對路徑時,路徑將與應用程序的主程序集相關。less在咱們的
HelloWorld
項目中,主要二進制文件是bin/Debug/netcoreapp2.1/ConsoleApp.SQLite.dll
,所以 SQLite 數據庫將位於bin/Debug/netcoreapp2.1/blogging.db
中學習
接下來,咱們雙擊打開 Startup.cs
文件,轉到 Startup
類
咱們須要爲 Entity Framework Core 添加一些額外的服務才能正常工做
具體來講,咱們須要作的兩件事情:
全部這些均可以經過在 IServiceCollection
上使用擴展提供的方法來完成,如如下程序中所示
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddEntityFrameworkSqlite() .AddDbContext<HelloWorldDBContext> (options => options.UseSqlite(Configuration["database:connection"])); }
因爲 EF 框架能夠兼容和處理不一樣類型的數據庫,包括非關係數據庫,咱們須要告知 EF 實體框架添加 SQLite 相關的服務
而後還須要經過 AddDbContext()
方法告訴 EF 框架咱們的 DBContext 類,方便它能夠適當地構造該類的實例
AddDbContext()
方法 接受一個泛型類型參數,咱們指定了 DBContext
派生類的類型 HelloWorldDbContext
在 AddDbContext()
方法中,咱們須要設置咱們的 DBContext
的選項
設置選項能夠經過 lambda表達式 來完成,咱們所須要作的就是告訴 EF 框架咱們的 DBContext 將轉到 UseSqlite
到此爲止,咱們的配置 EF 框架服務工做總算是完成了,接下來咱們將學習如何設置數據庫,遷移數據庫