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

Asp.Net Core 轻松学-使用MariaDBMySqlPostgreSQL和支持多个上下文对象

,在本章中,将继续介绍如何利用 EFCore 连接到 MariaDB/MySql 和 PostgreSQL 数据库,同时,在一个项目中,如何添加多个数据库上下文对象,并在业务中使用多个上下文对象,通过这两章学习...,并从 NuGet 仓库引用包 Pomelo.EntityFrameworkCore.MySql,我本地安装数据库是 MariaDB,从介绍中得知,MariaDB 和 MySql 使用方式几乎是完全一致...,这个使用方式和之前文章中连接 MSSQL 数据库使用方式是完全一致,这点非常难得,通过 EFCore,无论你连接到是哪种类型数据库,其 API 使用方式几乎是没有什么不同,可以让开发人员平滑过渡.../MySql 命令有一点小小不同 == 因为我们现在是在一个项目里面使用多个上下文对象,在创建 Migrations 时候, EF 会自动查找匹配 Context ,但是,由于使用了多个 Context...3.4 分别调用 http://localhost:5000/api/home 中 GET/POST/PUT/DELETE 接口,可以看到,数据库中可以正常添加和修改数据 MariaDB/MySql

2.3K51

.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记

修改实体属性 origin.Title = title; // 数据提交保存 await _lighterDbContext.SaveChangesAsync();...g.ProjectId == id).ToListAsync(cancellationToken: cancellationToken); // 修改实体属性 foreach (var group...(cancellationToken); return origin; } 不查询删除和更新 删除之前先查询 var id = 1; using(var db = new entityContext...,都会产生最新版本号,如果更新时候查询版本号与之前版本号不一致,就会报错 在 UpdateAsync 方法中查询和更新中间如果数据库行版本号发生了修改,就会报错 ProjectController...Core -- 迁移 生成 SQL 脚本 从空白开始生成sql脚本 dotnet ef migrations script 生成指定版本到最新版本sql dotnet ef migrations

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

.NET EF Core(Entity Framework Core)

2、EF会对实体标注做校验,EF Core追求轻量化,不校验。 3、熟悉EF的话,掌握EFCore会很容易,很多用法都移植过来了。EF Core又增加了很多新东西。...对Books做修改后,需要调用DbContext异步方法SaveChangesAsync()把修改保存到数据库。...(); 2、删除也是先把要修改数据查询出来,然后再调用DbSet或者DbContextRemove方法把对象删除,然后再执行SaveChangesAsync()保存修改。...;Username=postgres;Password=123456"); EF Core实体配置 主要规则: 1:表名采用DbContext中对应DbSet 属性名。...: builder.Property(e => e.Title) .HasColumnType("varchar(200)"); 5、配置主键 默认把名字为Id或者“实体类型+Id属性作为主键,可以用

11411

.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记

) { // 查询实体信息 var origin = await _lighterDbContext.Projects.FirstOrDefaultAsync(p => p.Id ==...id, cancellationToken); // 修改实体属性 origin.Title = title; // 数据提交保存 await _lighterDbContext.SaveChangesAsync...(cancellationToken); return origin; } 不查询删除和更新 删除之前先查询 var id = 1; using(var db = new entityContext...,都会产生最新版本号,如果更新时候查询版本号与之前版本号不一致,就会报错 在 UpdateAsync 方法中查询和更新中间如果数据库行版本号发生了修改,就会报错 ProjectController...Core -- 迁移 生成 SQL 脚本 从空白开始生成sql脚本 dotnet ef migrations script 生成指定版本到最新版本sql dotnet ef migrations

53611

C#-EF Core使用MySQL数据库

浏览量 4 简介 Entity Framework Core (EF Core)是微软推荐基于.NET Core 应用程序数据访问技术。开源,轻量级,可扩展并且支持跨平台开发。...EF Core是一种对象关系映射器(ORM),通过应用程序实体对象和关系数据库中数据映射,使得开发人员能够以面向对象方式处理数据。...使用 在项目里头安装EF Core和MySQL相关NuGet包:Microsoft.EntityFrameworkCore,Pomelo.EntityFrameworkCore.MySql ,如果你使用是其他数据库...这里创建是一个web项目,桌面项目其实大同小异,创建一个类继承DbContext,DbContext 是 EF 中非常重要一个组件,它拥有数据库会话连接,数据查询,修改保存数据,缓存,事务管理等等作用...modelBuilder.Entity(); modelBuilder.Entity(); } } } 创建实体

1.5K20

一个库帮你快速实现EF Core数据仓储模式

前言 EF Core是我们.NET日常开发中比较常用ORM框架,今天大姚要分享内容是如何使用EF Core Generic Repository通用仓储库来快速实现EF Core数据仓储模式。...EF Core Generic Repository介绍 该库是EF Core ORM通用仓储库实现,旨在简化开发人员为每个.NET Core和.NET项目编写仓储层工作。...具有针对你查询数据库级投影支持。 支持针对你关系型数据库运行原始SQL命令。 支持选择是否要跟踪你查询实体/实体。 支持在确实需要时重置你EF Core DbContext状态。...(); // 删除用户 _repository.Remove(newUser); await _repository.SaveChangesAsync...(option => option.UseSqlServer(connectionString)); //注册DbConext后立即调用

16510

.NET Core开发实战(第28课:工作单元模式(UnitOfWork):管理好你事务)--学习笔记

28 | 工作单元模式(UnitOfWork):管理好你事务 工作单元模式有如下几个特性: 1、使用同一上下文 2、跟踪实体状态 3、保障事务一致性 我们对实体操作,最终状态都是应该如实保存到我们存储中...CommitTransactionAsync(IDbContextTransaction transaction); // 事务回滚 void RollbackTransaction(); } 在实现上我们是借助 EF...来实现工作单元模式 看一下 EFContext 定义 /// /// DbContext 是 EF 基类,然后实现了 UnitOfWork 接口和事务接口 /// </summary...,这里模式有点像之前中间件模式 _logger.LogInformation("----- 提交事务 {TransactionId} {CommandName...EFContext,EFContext 实现 IUnitOfWork,工作单元模式核心,它实现了事务管理和工作单元模式,我们就可以借助 EFContext 来实现我们仓储层

2.7K20

ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单CRUD操作

前言:   本章主要通过一个完整示例讲解ASP.NET Core MVC+EF Core对MySQL数据库进行简单CRUD操作,希望能够为刚入门.NET Core小伙伴们提供一个完整参考实例。...二、添加EF Core NuGet包:   若要在项目中使用EF Core操作MySQL数据库,需要安装相应数据库驱动包。...三、创建对应数据库表实体模型:   注意该篇博客使用是手动模型优先方式进行数据库表字段与模型属性映射,当然如果大家觉得这样子比较麻烦的话可以真正意义上模型优先,直接创建模型在program.cs...创建用户模型(UserInfo): 注意:属性大小写和数据库中表字段保持一致,Id 属性成为此类对应数据库表主键列。 默认情况下,EF Core 将名为 Id 或 xxxID 属性视为主键。...八、 ASP.NET Core MVC 和 EF Core实现MySQL CRUD功能: 注意在这里主要展示EF Core与数据库操作部分代码,详细代码可下载实例源码查看。

2.7K10

asp.net core之EfCore

本文是一个简单EF Core教程,演示了如何使用EF Core进行数据库操作。 1. 安装EF Core 首先,创建一个WebApi项目,我们需要安装EF Core。...定义模型类 在使用EF Core之前,我们需要定义一个或多个模型类,这些类将映射到数据库表。...该类包含了Id、Name和Price属性,分别对应数据库表中列。 3. 创建数据库上下文 接下来,我们需要创建一个派生自DbContext数据库上下文类,用于定义数据库连接和数据集。...进行数据库迁移 在使用EF Core之前,我们需要进行数据库迁移。迁移是将模型类映射到数据库表过程。...使用连接工具查看Sqllite中表。 __EFMigrationsHistory中记录是我们执行数据库迁移记录。 Products表结构也对应我们实体属性。 5.

42430

asp.net core 系列之并发冲突

本文介绍如何处理多个用户并发更新同一实体(同时)时出现冲突 。...1.用户导航到实体编辑页面;   2.第一个用户更改还未写入数据库之前,另一个用户更新同一实体;   此时,如果未启用并发检测,当发生更新时:   最后一个更新优先。...(在第一个用户保存之前,第二个用户把时间从07年改为13年,注意此时第二个用户看到金额还不是0) ? 3.Jane 先单击“保存”,并在浏览器显示索引页时看到她更改。...乐观并发冲突允许发生并发冲突,并在并发冲突发生时作出正确反映。 说了这么多,那么,并发冲突处理方式呢? 1. 可以跟踪用户已修改属性,并只更新数据库中相应列。...处理并发 当属性配置为并发令牌时: EF Core 验证提取属性后是否未更改属性。 调用 SaveChanges 或 SaveChangesAsync 时会执行此检查。

1.6K20

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

,在这个工作单元结束时候一次性提交所有改动到数据库 DB Context 与 DB Set DB Context(UnitOfWork 工作单元) DB Set(Repository 仓储) EF Core...提供一个 DB Context 和多个 DB Set 组合完成数据查询和更新操作 ORM 框架 EF Core快速开始示例 创建一个空 web api 项目 添加 Pomelo.EntityFrameworkCore.Mysql... nuget 包引用 创建实体 创建 DbContext 配置连接字符串并且注入 DbContext 使用 DbContext 完成数据查询与插入 创建实体 Entity namespace LighterApi.Data...public string Id { get; set; } /// /// 全局唯一身份 /// ...Guid.NewGuid().ToString(); _lighterDbContext.Projects.Add(project); await _lighterDbContext.SaveChangesAsync

92011

如何使用 EF Core 7 批量删除数据

EF Core 7 中,我们可以使用批量操作来删除多条数据。这种方式与之前版本有所不同,本文将对比 EFCore 7 和之前版本批量删除数据不同方式。...删除给定 ID 数据 在 EF Core 7 中,我们可以使用以下代码来删除给定 ID 数据: await using var db = new MyContext(); await db.MyEntities.Where...(static x => x.Id == 1).ExecuteDeleteAsync(); 在之前版本中,我们可以使用以下代码来删除给定 ID 数据: await using var db = new...= 1 }; db.Attach(myEntity); db.Remove(myEntity); await db.SaveChangesAsync(); 删除 Age 大于 10 数据 在 EF...(); 总结 在 EF Core 7 中,我们可以使用 ExecuteDeleteAsync 方法来批量删除数据,这个方法用法与之前版本不同。

58010

迁移 appseting.json 创建自定义配置中心

按照之前做法,我们可以通过在program.cs中使用WebHost.ConfigureAppConfiguration去读取数据库数据,然后填充至配置中去实现,如下图: 这样做会有两个问题 配置是在程序入口创建主机配置...这里可以使用观察者模式,去监控配置实体改变事件,如果有修改则调用一次构建方法去覆盖配置中心IConfiguration。...实现最简便方法则是在SaveChange之后加入实体监控 internal class DiyEFContext : DbContext { public DiyEFContext(DbContextOptions...EF 核心方法,可确保上下文数据库存在。...调用初始化方法,返回IConfiguration 使用IConfigurationGetSection(string key)方法,GetChildren()方法,GetReloadToken()方法去获取对应

1.2K40
领券