ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程

简介: 原文:ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF 框架服务 上一章节中我们了解了 Entity Framework 的基本工作原理和 DbContext ,我们也创建了一个自己的 HelloWorldDBContext。

原文:ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程

ASP.NET Core 配置 EF 框架服务

上一章节中我们了解了 Entity Framework 的基本工作原理和 DbContext ,我们也创建了一个自己的 HelloWorldDBContext。 本章节我们就来讲讲如何设置我们的 EF 框架来链接到 SQLite 数据库

配置 EF 框架服务

要让我们的 EF 框架的 DBContext 能够运行起来,我们需要更改一下应用程序的配置

我们需要添加一个数据库连接字符串,以便我们的 HelloWorldDBContext 知道要去哪个服务器以及要查询哪个数据库

我们需要做以下工作:

  1. 将把数据库连接字符串保存在一个 JSON 的配置文件中
  2. 同样的,还需要在 Startup 类的 ConfigureServices 方法中添加 EF 服务
  3. EF 框架和 ASP.NET 和 MVC框架一样,都使用依赖注入。为了能够注入,运行时需要知道 EF 框架使用的各种服务
  4. 当然了,有一个简单的配置 API 可以用来添加我们需要的所有默认服务

好吧,开始吧

双击打开 AppSettings.json 文件,并添加以下数据库连接字符串

"database": {
    "connection": "Data Source=blogging.db" } 

添加完成后,AppSettings.json 文件全部内容如下

{
  "message":"Hello World!\n你好,简单教程,你的网址是 www.twle.cn 吗?",
  "database": { "connection": "Data Source=blogging.db" } } 

我们使用的是相对路径,在 SQLite 中使用相对路径时,路径将与应用程序的主程序集相关。

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

目录
相关文章
|
4月前
|
开发框架 .NET C#
ASP.NET Core Blazor 路由配置和导航
大家好,我是码农刚子。本文系统介绍Blazor单页应用的路由机制,涵盖基础配置、路由参数、编程式导航及高级功能。通过@page指令定义路由,支持参数约束、可选参数与通配符捕获,结合NavigationManager实现页面跳转与参数传递,并演示用户管理、产品展示等典型场景,全面掌握Blazor路由从入门到实战的完整方案。
387 6
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:&lt;https://github.com/khellang/Scrutor&gt;
379 5
|
开发框架 算法 中间件
ASP.NET Core 中的速率限制中间件
在ASP.NET Core中,速率限制中间件用于控制客户端请求速率,防止服务器过载并提高安全性。通过`AddRateLimiter`注册服务,并配置不同策略如固定窗口、滑动窗口、令牌桶和并发限制。这些策略可在全局、控制器或动作级别应用,支持自定义响应处理。使用中间件`UseRateLimiter`启用限流功能,并可通过属性禁用特定控制器或动作的限流。这有助于有效保护API免受滥用和过载。 欢迎关注我的公众号:Net分享 (239字符)
328 1
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
472 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
490 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
270 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
305 0
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
246 0
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
424 0
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
538 0