ef core实现无感知软删除】的更多相关文章

很多web程序一般的偶不会设计真的物理删除了. 基本上都是在在数据库加一个标记,就得当作已经删除了.同时在查询的时候,过滤已经标记删除的数据 ef core实现软删除是非常简单的,直接在OnModelCreating动态创建一个IsDeleted字段,bool类型.然后扔到ef core的查询过滤器里面去. protected override void OnModelCreating(ModelBuilder modelBuilder) { foreach (var entityType in…
这两天一直在研究在code first下如何删除数据表中的指定行,于是开始搜狗,后来百度,压根就找不到资料,后来一想可能我的搜索关键字有问题,而且ef core命令与ef的命令差不多,于是从这两个方面着手,最后终于找到了解决方法,其实特别简单,就是最基本的ef core的命令而已,唉,说白了就是还技术债. 先说下我的需求:一开始需要在数据表里面新增一个字段,于是使用Add-Migration新增了,后来又不需要了,于是删除该字段,但是不能直接在数据表删除该字段啊,这点,我在<ef core使用c…
原文:https://bit.ly/2Cy3J5f 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子. 这篇文章是关于如何使用 EF Core 实现软删除的,即表面上删除了数据,但数据并没有被物理删除,在需要的时候你还是可以把它读取出来的.软删除有很多好处,但也有一些值得注意的问题.这篇文章会教你使用 EF Core 实现一般的软删除和复杂的级联软删除.在此过程中,我还会介绍如…
很多web程序一般的偶不会设计真的物理删除了. 基本上都是在在数据库加一个标记,就得当作已经删除了.同时在查询的时候,过滤已经标记删除的数据 ef core实现软删除是非常简单的,直接在OnModelCreating动态创建一个IsDeleted字段,bool类型.然后扔到ef core的查询过滤器里面去. protected override void OnModelCreating(ModelBuilder modelBuilder) { foreach (var entityType in…
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final).正式版发布后,功能可能存在变动. 继续探索Entity Framework Core 2.0,今天我将探讨如何轻松使用软删除(或逻辑删除).我的意思是以透明的方式实现软删除,例如,您是物理上的删除行…
阅读本文大概需要 14 分钟. 原文:https://bit.ly/2C67m1C 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子. 这是深入理解 EF Core 系列的第二篇文章.第一篇是关于 EF Core 如何从数据库读取数据的:而这一篇是关于 EF Core 如何向数据库写入数据的.这是四种数据库操作 CRUD(新增.读取.更新和删除)中的 CUD 部分. 我假设你对…
感谢Jeffcky大佬的博客: EntityFramework Core 2.0全局过滤 (HasQueryFilter) https://www.cnblogs.com/CreateMyself/p/8491058.html 什么是值对象 没有唯一的标识,固定不变的,表示一个具体的概念,用来描述一个东西的特征,代表是什么,使用时直接添加或替换,值对象在迁移时,会以字段的形式迁移到数据库中 软删除 定义删除的接口 public interface ISoftDelete { bool IsDel…
ef core提供了Global Query Filters特性来实现多租户与软删除,收集了一些实现方法. 最简单的例子时微软官方的特性解释. https://docs.microsoft.com/en-us/ef/core/querying/filters modelBuilder.Entity<Post>().HasQueryFilter(p => !p.IsDeleted); 比较全面的实现可参考: https://gunnarpeipman.com/ef-core-global-…
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final).正式版发布后,功能可能存在变动. 继续探索Entity Framework Core 2.0,今天我将探讨如何轻松使用软删除(或逻辑删除).我的意思是以透明的方式实现软删除,例如,您是物理上的删除行…
假设在数据库中有两个表:Person表和Book表,Person和Book是一对多关系 Person表数据: Book表数据: 可以看到数据库Book表中所有的数据都属于Person表中"F"这个人 Person表,下面的Person类是该表在EF Core中的实体类型: public partial class Person { public Person() { Book = new HashSet<Book>(); } public int Id { get; set…
最近遇到了一个 EF Core 的恐怖问题,在添加数据时竟然会自动删除数据库中已存在的数据,经过追查发现是一个多余的实体关系配置引起的. modelBuilder.Entity<Question>() .HasOne(q => q.Owner) .WithOne(); 罪魁祸首就是上面的 WithOne() . 今天写了个非常简单的控制台程序重现了这个问题. 实体类 Question 的定义 public class Question { public int Id { get; set…
C# 嵌入dll   在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形式总归让人不爽,那么有办法让生成的软件中直接就包含这个dll文件吗,这样就可以不用dll跟着exe走了,避免单独不能运行的情况. 答案是有的! 在工程项目目录下找到Resources.resx文件并点击,然后按下面操作,添加资源,将你要加入的dll添加进来. 操作完成后,就会在下面的内容框里看到你添…
MySQL 8.0.12 innodb cluster 高可用集群部署运维管理手册 Innodb cluster 原理介绍 Innodb cluster  利用组复制的 pxos 协议,保障数据一致性,组复制支持单主模式和多主模式, 本文推荐的高可用架构为单主模式下,基于mysqlrouter的 innodb cluster: 搭建步骤 系统:centos 7.5 Mysql:8.0.12   二进制包 Mysqlshell: 8.0.12  rpm 包 Mysql router: 8.0.12…
官方文档英文地址:https://github.com/aspnet/EntityFramework/wiki/Roadmap 历经延期和更名,新版本的实体框架终于要和大家见面了,虽然还有点害羞.请大家多体谅! 下面正式进入主题: Entity Framework Core (EF Core) 下面是EF Core 的计划和技术线路,注意,这些计划是可能发现变化的,因为很多事是很难预测的.即便如此,我们还是尽可能保持计划的公开和透明,以解大家对EF Core期望,以及做出相应的安排. Sched…
出于学习和测试的简单需要,使用 Console 来作为 EF CORE 的承载程序是最合适不过的.今天笔者就将平时的几种使用方式总结成文,以供参考,同时也是给本人一个温故知新的机会.因为没有一个完整的脉络,所以也只是想起什么写点什么,不通顺的地方还请多多谅解. 本文对象数据库默认为 VS 自带的 LocalDB 1. Normal & Simple 先介绍一种最简单的构建方式,人人都会. 新建 Console 应用程序,命名自定 安装相关Nuget 包 //Sql Server Database…
前言 终于踏出第一步探索EF Core原理和本质,过程虽然比较漫长且枯燥乏味还得反复论证,其中滋味自知,EF Core的强大想必不用我再过多废话,有时候我们是否思考过背后到底做了些什么,到底怎么实现的呢?比如本节要讲的在命令行简单敲下dotnet ef migration add Initial初始化表完事,如此简洁.激起了我的好奇,下面我们来看看.本节内容可能比较多,请稍安勿躁. EntityFramework Core命令基础拾遗 我们提前创建好.NET Core Web应用程序和实体模型以…
参考地址 EF官网 ASP.NET Core MVC 和 EF Core - 教程系列 环境 Visual Studio 2017 最新版本的.NET Core 2.0 SDK 最新版本的 Windows PowerShell 开始搭建 1.在 Visual Studio 2017 中创建新项目 "文件">"新建">"项目" 从左侧菜单中选择"已安装">"模板">"Visu…
本文是为了学习ABP的使用,是翻译ABP官方文档的一篇实战教程,我暂时是优先翻译自己感兴趣或者比较想学习的部分,后续有时间希望能将ABP系列翻译出来,除了自己能学习外,有可能的话希望帮助一些英文阅读能力稍微差一点的同学(当然我自己也不一定翻译的多好,大家共同学习). 其实这篇文章也花了我一些时间,突然感叹其实写文章挺不容易的,这次虽然是翻译,基本内容都是尊重原文的意思翻译,但是里面的每一句代码我都自己写了也运行测试了,截图都是自己运行的结果. 这个ABP框架真的挺不错的,已经有很多人也已经翻译了…
Paul Hiles: 3 ways to avoid an anemic domain model in EF Core 1.引言 在使用ORM中(比如Entity Framework)贫血领域模型十分常见 .本篇文章将先探讨贫血模型的问题,再去探究在EF Core中使用Code First时如何使用简单的方法来避免贫血模型. 2.什么是贫血模型 在对领域建模后,输出一系列类中仅包含一些简单属性声明而不包含业务逻辑的模型,就属于贫血模型.当使用Entity Framework时,它们不仅仅是简…
大家好,欢迎收看由土星卫视直播的大型综艺节目——老周吹逼逼. 今天咱们吹一下 EF Core 有关的话题.先说说模型和数据库是怎么建起来的,说装逼一点,就是我们常说的 “code first”.就是你先创建了数据模型,然后再根据模型来创建数据库.这种做法的一个好处是让面向对象的逻辑更好地表现出来.以前,咱们通常是先创建数据库的. 像 EF 这么嗨的东西,ASP.NET Core 中自然也是少不了的,即 EF Core. 好了,以上就是理论部分,比较乏味,是吧.那好,下面咱们干点正事. 构建模型…
一个事务中    先在数据库查出一条数据进行修改      然后在进行查询  他会直接在内存中找到这条数据  不会再数据库查询了 EF Core的 linq语句中可以使用C#方法或函数   在EF6或之前版本不可以 .Include()  在EF Core和 EF6中支持lamada表达式  之前的版本该方法只接受列名字符串 使用原生sql 配置一对一关系   在EF6.X或之前不支持 public class Student { public int Id { get; set; } publ…
前面的文章介绍了ProxySQL用法,这里说下ProxySQL中间件针对Mysql组复制模式实现读写分离以及主节点故障时能够自动切换到新的主节点,而应用对此过程无感知的功能.Mysql组复制(MGR)组复制能够完成主节点故障后推选出来新的主节点,不过在应用层不可能通过修改新的主节点的IP来连接新的主节点,但是通过MGR+ProxySQL可以实际主节点故障时应用无感应自动切换到新的主节点. 根据上图,描述下实现思路:三个节点使multi-primary的方式连接,应用通过连接ProxySQL中间件…
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前端UI预览及下载 Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装. EF Core操作及实例 Asp.Net Core 2.0 项目实战(5)Memcached踩坑,基于EnyimMemcachedCore整理…
原文地址:http://www.entityframeworktutorial.net/code-first/dataannotation-in-code-first.aspx EF 6 Code-First系列文章目录: 1 翻译系列:什么是Code First(EF 6 Code First 系列) 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列) 3.翻译系列:EF Code-First 示例(EF 6 Code-First系列) 4.翻译系列:…
目录 SAAS 和多租户 多租户数据隔离方案 使用 EF Core 简单实现多租户 单数据库实现 多数据库实现 源代码 参考 SAAS 和多租户 SaaS(软件及服务)区别于其他应用程序的主要特征就是能够使客户在使用应用程序时按照使用量付费.他们不需要为软件购买许可,也不需要安装.托管和管理它.这方面的操作全部由提供 SaaS 软件的组织负责. 多租户是实现 SaaS 的关键因素, 它可以让多个企业或组织用户共用相同的系统或程序组件, 同时不会破坏这些组织的数据的安全性, 确保各组织间数据的隔离…
本文转自:http://www.cnblogs.com/VolcanoCloud/p/5572408.html 官方文档英文地址:https://github.com/aspnet/EntityFramework/wiki/Roadmap 历经延期和更名,新版本的实体框架终于要和大家见面了,虽然还有点害羞.请大家多体谅! 下面正式进入主题: Entity Framework Core (EF Core) 下面是EF Core 的计划和技术线路,注意,这些计划是可能发现变化的,因为很多事是很难预测…
ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: 3.在AbpTest.Web.Host项目的appsettings.json中配置数据库连接字符串 新建名为AbpTestDb的空白数据库,在NuGet包管理控制台 执行    Update-Database  命令,初始化数据库 4.运行应用程序将看到Swagger生成的API接口页面 AspN…
Cookies   1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add("UserName","ABC"); Cookie["UserName"]="ABC";3.修改内容Cookie.Values["UserName"]="CBA";4.读取内容var UserNa…
前言 公司之前使用Ado.net和Dapper进行数据访问层的操作, 进行读写分离也比较简单, 只要使用对应的数据库连接字符串即可. 而最近要迁移到新系统中,新系统使用.net core和EF Core进行数据访问. 所以趁着国庆假期拿出一两天时间研究了一下如何EF Core进行读写分离. 思路 根据园子里的Jeffcky大神的博客, 参考 EntityFramework Core进行读写分离最佳实践方式,了解一下(一)? EntityFramework Core进行读写分离最佳实践方式,了解一…
在EF Core 5中,有很多方式可以窥察工作流程中发生的事情,并与该信息进行交互.这些功能点包括日志记录,拦截,事件处理程序和一些超酷的最新出现的调试功能.EF团队甚至从Entity Framework的第一个版本中恢复了一些有用的旧的功能.本博文带你更深入地研究访问EF Core 5的一些元数据和其有趣的使用方式. 1.将EF的ToTraceString移植为EF Core的ToQueryString 这是回忆杀. 在Entity Framework的第一个迭代版本中,没有内置的日志记录.但…