首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记

mapping 对 SQL 语言进行封装,降低使用难度,多种 SQL 语言抽象 多出来对事务、连接池、迁移、种子数据等一些功能 多数情况下 ORM 生成 SQL 脚本比你自己写要好 Repository... nuget 包引用 创建实体 创建 DbContext 配置连接字符串并且注入 DbContext 使用 DbContext 完成数据查询与插入 创建实体 Entity namespace LighterApi.Data...ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } } } 配置连接字符串并且注入...完成数据查询与插入 初始化数据库 ,注意在初始化以前确保正确配置了连接字符串,并且在startup.cs中添加了DbContext注入 // 安装dotnet tool ef工具 dotnet tool...//添加迁移文件 dotnet ef migrations add Init // 更新数据库 dotnet ef database update 创建控制器 ProjectController

90511

.NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记

mapping 对 SQL 语言进行封装,降低使用难度,多种 SQL 语言抽象 多出来对事务、连接池、迁移、种子数据等一些功能 多数情况下 ORM 生成 SQL 脚本比你自己写要好 Repository...工作单元) DB Set(Repository 仓储) EF Core 提供一个 DB Context 和多个 DB Set 组合完成数据查询和更新操作 ORM 框架 EF Core快速开始示例 创建一个空...web api 项目 添加 Pomelo.EntityFrameworkCore.Mysql nuget 包引用 创建实体 创建 DbContext 配置连接字符串并且注入 DbContext 使用...完成数据查询与插入 初始化数据库 ,注意在初始化以前确保正确配置了连接字符串,并且在startup.cs中添加了DbContext注入 // 安装dotnet tool ef工具 dotnet tool...//添加迁移文件 dotnet ef migrations add Init // 更新数据库 dotnet ef database update 创建控制器 ProjectController

79010
您找到你想要的搜索结果了吗?
是的
没有找到

Entity Framework应用:使用Code First模式管理数据库创建和填充种子数据

一、管理数据库连接 1、使用配置文件管理连接之约定 在数据库上下文类中,如果我们只继承了无参数DbContext,并且在配置文件中创建了和数据库上下文类同名连接字符串,那么EF会使用该连接字符串自动计算出数据库位置和数据库名...namevalue值和创建数据库上下文类类名相同,这样EF会使用该连接字符串执行数据库操作,究竟会发生什么呢?...会寻找我们数据库上下文类,即“SampleDbEntities”,并在配置文件中寻找和它同名连接字符串,然后它会使用该连接字符串计算出应该使用哪个数据库provider,之后检查数据库位置,之后会在指定位置创建一个名为...DbContext有参构造函数,这样一来,我们数据库上下文就会开始使用该连接字符串了,在Program类中输出Name和Age字段值: 1 using ExistsConnectionString.EF...无论我们对传入连接字符串名称如何改变,都是无济于事,也就是说和数据库上下文类名同名连接字符串优先权更大。

1.1K20

CSharpEntityFramework与CodeFirst实践

连接字符串。...换句话说,继承了DbContext类就对应了某一个数据库,其连接属性由配置文件中连接配置决定,并在DbContext中设置进去(基类构造函数设置),这个DbContext所有DbSet就对应到数据库中表...注意到,构造函数调用了基类构造函数,传入了"name=BookDbDemo"字符串,这个字符串就是指app.config配置文件中数据库连接名,然后我们查看App.config文件,发现vs已经为我们生成了一个连接字符串节点...创建好数据库如下: 于是,我们将其中连接字符串connectionString内容修改为我们当前数据库连接字符串: <add name="BookDbDemo...删除表 为了证明<em>EF</em>再删除表<em>的</em>时候,并不会影响其他<em>的</em>表,我再次利用创建了一个新<em>的</em>实体类EBook并更新<em>DbContext</em>以及进行<em>EF</em><em>迁移</em>功能: namespace CodeFirstDemo {

22310

Entity Framework Core 2.0 使用入门

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //配置mariadb连接字符串...因为我们需要使用数据库并不存在,EF Core默认创建数据库策略已经和EF不用,请看后面的迁移操作 三.ASP.NET Core 使用 EF Core(Code First) 1.创建一个asp.net...options.UseMySql("Server=localhost;Port=3306;Database=WebBloggingDB; User=root;Password=;")); //配置mariadb连接字符串...Core迁移操作 前面说过,EF Core默认创建数据库策略已经和EF不用,需要我们通过迁移来创建数据库 这里不论是控制台还是ASP.NET Core操作都是一样,这里以ASP.NET Core..."数据库连接字符串" EF组件名(Microsoft.EntityFrameworkCore.SqlServer/Pomelo.EntityFrameworkCore.MySql/等等) -OutputDir

1.1K30

生成数据库

EF Core 不是 EF6升级版,这个大家应该知道,EF Core是轻量级、具有很好扩展性,并且是跨平台EF版本。...但是它如何连接数据库?这就需要连接字符串,我们需要为DbContext提供连接字符串,这里有两种方式。...optionsBuilder提供了一个UseSqlServer()这个方法,它告诉Dbcontext将会被用来连接Sql Server数据库,在这里就可以提供连接字符串,这就是第一种方法。...;连接字符串最后一部分表示这是一个受信任连接,也就是说使用了集成验证,在windows系统就是指windows凭证。...它是: 如何安全保存敏感配置数据,例如:连接字符串 保存连接字符串,你可能会想到appSettings.json,但这不是一个好想法。

97320

从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置

EF Core 不是 EF6升级版,这个大家应该知道,EF Core是轻量级、具有很好扩展性,并且是跨平台EF版本。...但是它如何连接数据库?这就需要连接字符串,我们需要为DbContext提供连接字符串,这里有两种方式。...optionsBuilder提供了一个UseSqlServer()这个方法,它告诉Dbcontext将会被用来连接Sql Server数据库,在这里就可以提供连接字符串,这就是第一种方法。...连接字符串ProductDb是数据库名;连接字符串最后一部分表示这是一个受信任连接,也就是说使用了集成验证,在windows系统就是指windows凭证。...它是: 如何安全保存敏感配置数据,例如:连接字符串 保存连接字符串,你可能会想到appSettings.json,但这不是一个好想法。

2.2K70

在.NET Core类库中使用EF Core迁移数据库到SQL Server

中添加以下节点 重新执行上面的命令,如果出现了EF Core标志(一头蓄势待发野马)表示已经成功 b)、执行以下命令进行迁移 dotnet ef migrations add InitLightDB...这个问题如果是在Web项目,并且配置了DbContext链接字符串的话,是不会出现此问题。...很显然是迁移命令没有找到DbConnectionString导致,接下来我们按照提示,实现一个IDesignTimeDbContextFactory 试试 解决方法: 创建一个与DbContext同一目录下...观察数据库表结构已经更新 同理添加字段,删除字段都是一样迁移操作,还是很方便 3、扩展 a)、为了方便演示,其实上面在类库中执行迁移数据库连接字符串是写死,那么最好办法是应该去读取Web...项目下已经配置好连接,这样就能保证上下一致性,不用再去为了EF迁移而单独维护一个多余数据库连接配置。

1.7K60

Entity Framework Core 2.0 新特性

: 在生成SQL时,该方法名称将用作函数名称(在本例中为用户定义函数),但在方法注册期间可以覆盖名称和模式 目前只支持标量功能 必须自行在数据库中创建映射函数,EF Core迁移不会对其进行创建...2.性能提升方面 2.1DbContext连接池 在ASP.NET Core程序中我们使用EF Core一般都是将自定义DbContext类型注册到依赖注入系统中,然后通过控制器中构造函数参数获取该类型实例...>( options => options.UseSqlServer(connectionString)); 如果使用连接池,则在控制器请求DbContext实例时,将首先检查池中是否有可用实例...一旦请求处理完成,实例上任何状态都将重置,并且实例本身返回到池中。 这在思想概念上类似于ADO.NET中连接运作方式,并且能节省DbContext实例初始化成本。...在EF核2.0,我们增加了对插值字符串特殊支持,我们接受原始SQL字符串两个主要API:FromSql和ExecuteSqlCommand。

3.8K90

.NET Core EFCore零基础快速入门简单使用

二、EF相关程序包 Microsoft.EntityFrameworkCore 核心程序包,封装了关键核心代码,使用EF必须引用这个包 Microsoft.EntityFrameworkCore.Design...设计包,用于在命令行工具下EF Core开发工具套件 Microsoft.EntityFrameworkCore.Tools 用于数据库生成、迁移、生成表等 三、EF Core支持数据库引擎:SqlServer...类作用是配置数据连接、操作数据库表等信息 public class BloggingContext: DbContext { /// ...OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseMySql("你数据库连接字符串...InitialCreate //InitialCreate是生成迁移文件文件名,执行此命令后,会生成Migrations文件夹及相关迁移文件 Update-Database //生成数据库

2.7K10

asp.net core之EfCore

该类包含了Id、Name和Price属性,分别对应数据库表中列。 3. 创建数据库上下文 接下来,我们需要创建一个派生自DbContext数据库上下文类,用于定义数据库连接和数据集。.../LearnEfCore.db")); 这里UseSqlite指定了数据库连接字符串。 4. 进行数据库迁移 在使用EF Core之前,我们需要进行数据库迁移。...然后运行以下命令来创建一个新迁移: dotnet ef migrations add InitialCreate 上述命令将创建一个名为"InitialCreate"迁移,它将根据模型类创建数据库表...接下来,运行以下命令来应用迁移并创建数据库: dotnet ef database update 上述命令将应用迁移并创建数据库。如果数据库已经存在,它将更新数据库以反映最新模型更改。...使用连接工具查看Sqllite中表。 __EFMigrationsHistory中记录是我们执行数据库迁移记录。 Products表结构也对应我们实体类属性。 5.

28730

EF 数据库连接约定(Connection String Conventions in Code First)

一个典型EF应用大多数情况下是一个DbContext派生类(derived class)来控制,通常可以使用该派生类调用DbContext构造函数,来控制以下东西: (1)、上下文如何连接到数据库...(给定连接字符串) (2)、上下文是通过Code First语法计算模型还是使用EF 设计器 (3)、额外高级选项 下面是DbContext构造器常用用途: 一、DbContext无参构造函数 如果当前...EF应用中没有做任何配置.且在你自定义数据库上下文类中没有调用DbContext带参构造函数,那么当前应用对应数据库上下文类,将会调用DbContext默认无参构造函数(EF默认规定数据库连接...(2)、如果连接字符串name属性值和上下文类名不一样,但是还是希望上下文使用配置文件数据库连接进行数据库连接,这时就需要在上下文构造函数中调用DbContext带string参数构造函数,并传入连接字符串...上面这种方式是明确EF进行数据库连接时候去配置文件找连接字符串

1.4K90

IdentityServer(14)- 使用EntityFramework Core配置和操作数据

管理这些变化一种方法是使用EF迁移,这个快速入门将显示如何完成。 如果迁移不是您偏好,那么您可以以任何您认为合适方式管理架构更改。...}); 您可能需要将这些命名空间添加到文件中: using Microsoft.EntityFrameworkCore; using System.Reflection; 上面的代码是对一个连接字符串进行硬编码...传递给这些API“builder”回调方法是EF机制,允许您为这两个存储中每一个配置用于DbContextDbContextOptionsBuilder。...这就是我们DbContext类可以用你想要使用数据库提供程序来配置。 在这种情况下,通过调用UseSqlServer,我们正在使用SqlServer。 你也可以知道,这是提供连接字符串地方。...UseSqlServer中“options”回调函数是配置定义EF迁移程序集方法。 EF需要使用迁移来定义数据库Schema。

1.9K30

ABP微服务系列学习-搭建自己微服务结构(四)

上篇我们实现了认证服务和网关服务,基本我们基础服务已经完成了,接下来我们才需要做服务数据迁移。 这里我们需要使用EFCodeFirst模式。...实现DbMigrator迁移程序 使用DbMigrator迁移程序可以一次性执行多个服务迁移任务,当然我们也可以每个服务单独去执行dotnet ef database update这个命令,如果不嫌麻烦的话...后续添加更多服务,我们只需要在MigrateAllDatabasesAsync中添加我们服务对应DBContext文件即可。...编辑appsettings.json文件 在配置文件中添加数据库连接字符串和OpenIddict配置 { "ConnectionStrings": { "AdministrationService...迁移程序也实现完了,后续添加新服务也只需要添加修改对应地方,然后执行程序即可。

30930

Entity Framework Core必须牢记三条引用三条命令

引用2:Install-PackageMicrosoft.EntityFrameworkCore.Tools 我们将使用一些实体框架核心工具来创建一个数据库从EF核心模型,所以我们通过添加这条引用来填加那些我们需要工具包...命令一:Add-Migration InitialCreate 该命令用于为迁移搭建框架,每次模型变更后需要运行此指令,其中InitialCreate为本次变更名字,每次必须不一样。...命令二:Update-Database 配合上一条命令使用,是实体模型变更迁移应用到数据库中。只运行上一条命令是只生成了代码,并没有把变更更新到数据库中,而该指令,可以理解为将变更应用到数据库。...命令三:Scaffold-DbContext"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_ Connection=True;"Microsoft.EntityFrameworkCore.SqlServer...-OutputDir Models 该命令用于通过现有数据库生成数据模型和DBContext.其中双引号内内容为数据库连接字符串

78580

.NET Aspire Preview 4 发布!

NET Aspire 提供了如下3个方面的能力,来帮助我们使用.NET开发分层、云就绪可观测、本地与生产环境一致分布式云原生应用程序: 微服务编排能力:在开发和线上环境自动处理多个微服务之间连接和依赖...新Enrich[Provider]DbContext()方法在注册DbContext类时提供了更多灵活性。这些方法不注册DbContext,而是在调用它们之前期望你自行注册。...这些方法仍然配置命令重试、健康检查、日志和遥测,此外,预览版4改进了使用EF Core工具在.NET Aspire应用中创建迁移过程。以前,EF Core工具会因缺少数据库连接字符串而失败。...在预览版4中,.NET Aspire检测到项目是否使用EF Core工具启动,并禁用连接字符串验证,从而允许成功创建迁移。另一个挑战是与 transient 数据库应用迁移。...这个工作者在应用主机启动时执行迁移管理工具,MySQL (phpMyAdmin) 和 MongoDB (mongo-express) 实体框架迁移问题已解决,请参阅示例 数据库服务器资源更新 数据库容器资源更新

12410
领券