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

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

原文地址:https://www.cnblogs.com/lonelyxmas/p/9724266.html

时间: 2024-10-26 10:28:18

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

ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程

原文:ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF SQLite 支持 上一章节我有提到 macOS 版的 Visual Studio Community 没有携带 LocalDB,也就是说 LocalDB 暂时不支持 macOS 系统 虽然我可以在 Windows 上继续完成接下来的教程,但我觉得还是感觉不妥,如果其它使用苹果笔记本的人要去哪里找 Windows 的电脑 我临时改变

ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程

原文:ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 使用 EF 框架查询数据 上一章节我们学习了如何设置和初始化数据库,以及如何创建迁移代码和应用迁移代码.本章节我们就学习如何使用 EF 框架来查询数据库,至于添加和修改,后面的章节中我们会慢慢学习到 添加测试数据 我们首先使用 SQLite Studio 添加三条数据 ID Name 1 李白 2 杜甫 3 白居易 使用 SQLite Studio

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(3)-面向接口的编程

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(3)-面向接口的编程 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)  (1)框架搭建    (2):数据库访问层的设计Demo 前言:这篇博客在数据访问层的基础上面我们继续学习对这个Demo的开发,希望大家都好好理解一下这个Demo的架构,到最后我实现权限的时候我就简单的说一下搭建过程就OK了,因为这个Demo的思想就是按照权限的设计方式去设计的,下面我们开始介绍面向接口的编程思想,如果感觉好的话可以

[ASP.NET MVC]: - EF框架学习手记

1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. 2.什么是ORM?ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的互相转换.(表实体跟表之间的相互转换)ORM框架有很多,EF框架是ORM框架的其中一种,是实现了ORM思想的框架. O=>表实体M=>映射关系R=>数据库.表 3.创建EF,添加-新建项-ADO.NET 实体数据模型<configuration>  <

ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程

原文:ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 数据库上下文 上一章节中我们了解了 Entity Framework 并讲述了如何配置它.本章节我们就来学习如何使用它 EF 框架 ( Entity Framework ) 使我们能够使用称为实体 ( Entity) 的公共语言运行时 ( CLR ) 对象查询,插入,更新和删除数据 EF 框架将模型中定义的实体和关系映射到数据库.除此之外,它还具有以下能力: 将

ASP.NET MVC+EF框架+EasyUI实现权限管理系列

http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个 项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个 系列

ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个系列,可能要很长时间吧,但是我肯定会一直坚持,如果我哪里写的不好欢迎大家指出我们共同学习,而且我理解的也不是很透彻,所以我想在写这样一遍

ASP.NET Core 设置和初始化数据库 - ASP.NET Core 基础教程 - 简单教程,简单编程

原文:ASP.NET Core 设置和初始化数据库 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 设置和初始化数据库 上一章节中我们已经设置和配置好了 EF 框架服务,本章节我们就来学习如何使用 EF 框架设置和初始化数据库 初始化数据库 初始化数据库的方法之一是使用 EF 框架来创建数据库,仅仅需要两步就能完成 第一步,给我们的 HelloWorld 项目添加迁移 ( migration ) 代码 迁移代码是 C# 代码,用来在数据库系统中创建数据库

ASP.NET Core 2.0 : 五.服务是如何加载并运行的, Kestrel、配置与环境

"跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同? 本章从"宏观"到"微观"地看一下它的结构以及不同时期都干了些什么. 本章主要内容如下: ASP.NET Core 的运行机制: "宏观"的看一下Http请求的处理流程. ASP.NET Core 的配置与运行: 2倍放大后的ASP.NET Core Application, Kestrel服务器.启动与配置 ASP.NET