ASP.NET Core 配置 EF 框架服務 - ASP.NET Core 基礎教程 - 簡單教程,簡單編程

原文:ASP.NET Core 配置 EF 框架服務 - ASP.NET Core 基礎教程 - 簡單教程,簡單編程html

ASP.NET Core 配置 EF 框架服務

上一章節中咱們瞭解了 Entity Framework 的基本工做原理和 DbContext ,咱們也建立了一個本身的 HelloWorldDBContext。 本章節咱們就來說講如何設置咱們的 EF 框架來連接到 SQLite 數據庫數據庫

配置 EF 框架服務

要讓咱們的 EF 框架的 DBContext 可以運行起來,咱們須要更改一下應用程序的配置編程

咱們須要添加一個數據庫鏈接字符串,以便咱們的 HelloWorldDBContext 知道要去哪一個服務器以及要查詢哪一個數據庫json

咱們須要作如下工做:服務器

  1. 將把數據庫鏈接字符串保存在一個 JSON 的配置文件中
  2. 一樣的,還須要在 Startup 類的 ConfigureServices 方法中添加 EF 服務
  3. EF 框架和 ASP.NET 和 MVC框架同樣,都使用依賴注入。爲了可以注入,運行時須要知道 EF 框架使用的各類服務
  4. 固然了,有一個簡單的配置 API 能夠用來添加咱們須要的全部默認服務

好吧,開始吧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 添加一些額外的服務才能正常工做

具體來講,咱們須要作的兩件事情:

  1. 添加與 SQLite 相關的 EF 框架服務
  2. 告訴 EF 框架咱們的 DBContext 是哪一個類

全部這些均可以經過在 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 框架服務工做總算是完成了,接下來咱們將學習如何設置數據庫,遷移數據庫

相關文章
相關標籤/搜索