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