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 框架服务工做总算是完成了,接下来咱们将学习如何设置数据库,迁移数据库

相关文章
相关标签/搜索