EF 与 EFCore
EF 与 EFCore 教程
dabusidede
Github:https://github.com/IceEmblem,
Word文档文章:https://github.com/IceEmblem/LearningDocuments
展开
-
EF 数据库事务锁
以下代码将带你了解EF的数据库事务锁模板代码认真看下面的代码,代码开启了3个线程,其中,线程2最先进入事务,1、3随后进入System.Data.IsolationLevel.ReadUncommitted:事务的级别static void Main(string[] args){ Task.Run(() => { MyContext myContext = new MyContext(); Thread.Sleep(1000);原创 2021-10-07 13:05:26 · 910 阅读 · 0 评论 -
EF 非主键依赖的关系配置
word文档地址:https://github.com/IceEmblem/LearningDocuments/tree/master/%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/Windows%20%E5%B9%B3%E5%8F%B0/EF/FE%20Core/3%20%E5%AE%9E%E4%BD%93%E9%85%8D%E7%BD%AE废话(可以不看)说到旧项目就很头疼,你说表A有主键Id,但逻辑上却是用字段Code作为主键,表B关联到表A,但表B却是通过自动ACod原创 2021-05-09 14:13:22 · 729 阅读 · 0 评论 -
快速搭建 EFCore
安装 EFCore安装 Entity Framework Core.NET Core CLI在操作系统的命令行中使用以下 .NET Core CLI 命令来安装或更新 EF Core SQL Server 提供程序:dotnet add package Microsoft.EntityFrameworkCore.SqlServer可以使用 -v 修饰符在 dotnet add package 命令中指明特定的版本。Visual Studio NuGet 包管理器对话框从 Visual Stud原创 2020-09-19 18:55:47 · 385 阅读 · 0 评论 -
EF 代码迁移
基本流程1.Enable-Migrations 启用迁移2.Add-Migration 搭建基架(每次模型改变时都需要重新搭建基架,才能更新数据库)3.Update-Database 更新数据库其他用法回滚数据库到AddA(AddA为执行某次Add-Migration时指定的名称)Update-Database -TargetMigration AddA回滚数据库到AddA(此方法适用与EFCore)Update-Database AddA生成SqlScript-Migratio原创 2020-09-19 18:49:46 · 236 阅读 · 0 评论 -
EF 实体追踪
EF自动追踪实体,实体的生命周期被EF管当我们先加载实体var memberInfo = _MemberInfoRepository.FirstOrDefault(input.MemberId);而后加载其关连的实体_includeLoader.IncludeLoad(e => e.MemberAccounts).ToEnumerable().FirstOrDefault(e => e.Id == input.MemberId);EF会自动完整关联(前提是加载使用的是同一个上下文,原创 2020-09-19 18:44:36 · 725 阅读 · 0 评论 -
EF IQueryable 与 IEnumerable
如下:// GetAll() 返回 IQueryable<TEntity>IEnumerable<PageBase> pagess = _repository.GetAll();pagess = pagess.Where(e=>e.Id == 1);上面的代码似乎没有什么问题,但大错特错Linq的方法提供了IQueryable对应的扩展方法,也提供了IEnumerable对应的扩展当我们将IQueryable转为IEnumerable后,那么使用的Linq方法就是原创 2020-09-19 18:43:05 · 327 阅读 · 0 评论 -
软件设计模式应用到 EF (ORM)
值对象值对象没有对应的数据库表 class MyContext : DbContext { public MyContext(DbContextOptions<MyContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<原创 2020-09-19 18:20:31 · 392 阅读 · 0 评论