摘要:
Ef Core花里胡哨系列(6) XML注释同步到数据库注释 参考文档:C#读取注释的方法 准备读取Xml的工具类 可以根据[参考文档]获取一个简单读取注释的方法。 实现DbContext 我们通过重写OnModelCreating方法,在生成数据库表时,使用FluentApi指定对应表以及其属性的 阅读全文
摘要:
Ef Core花里胡哨系列(5) 动态修改追踪的实体、动态查询 同样还是IModelCacheKeyFactory,不过这次要采用主动刷新的方式。 实现DbContext 动态实体,根据配置等生成动态类型来当作数据库实体使用,当配置修改时,可以调用DynamicModelCacheKeyFactor 阅读全文
摘要:
Ef Core花里胡哨系列(4) 多租户 当然,我们要考虑设计问题,例如,切换Schema或者改变数据库时,Ef Core同样也会刷新改实体的缓存,所以,首次查询将会很慢,不适合大表。 基于Schema实现多租户 在我的上一篇博客中 [Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、 阅读全文
摘要:
GitHub Copilot Github Copilot文档地址:Github Copilot文档 IDE上的 GithubCopilot VSCode 安装VSCode:如果您还没有安装VSCode,请前往VSCode官方网站下载并安装最新版本的VSCode。 安装GitHub Copilot插 阅读全文
摘要:
Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、多租户 Ef Core在加载的时候,会执行一次OnModelCreating用来加载所用到的实体。我们要做的就是刷新Ef Core上下文中之前缓存的内容。 分表 我们假如有一个程序,会每个月创建一个Table年月的表,我们要做的是每个月 阅读全文
摘要:
Ef Core花里胡哨系列(2) 移除外键、扩展操作 虽然数据库的外键有着举足轻重的作用,但是在通常的软件设计中,很多人嫌弃麻烦,从而放弃了Ef Core的Codo-First模式而转向Db-First模式。但是Db-First不是很严谨,所以我这里就是提供一种相对折中的方式:在Code-Frist 阅读全文
摘要:
Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等 在软件设计中,软删除是一种常见的数据管理技术,用于标记和隐藏被删除的数据,而不是永久地从数据库中删除它们。软删除通常通过在数据表中添加一个额外的标志列(例如"IsDeleted")来实现。当 阅读全文
摘要:
本地事件总线和事务 通过重写Ef Core的SaveChanges/SaveChangesAsync来实现事务。当然,如果您愿意实现仓储层,可以在仓储层实现展开对应实体包含的事件,并且调整事件的处理顺序。 Github仓库地址:soda-event-bus 实现AggregateRoot类 Aggr 阅读全文
摘要:
使用 C# 实现一个 Event Bus Event Bus(事件总线)是一种用于在应用程序内部或跨应用程序组件之间进行事件通信的机制。它允许不同的组件通过发布和订阅事件来进行解耦和通信。 在给定的代码片段中,我们可以看到一个使用C#实现的Event Bus。它定义了一些接口和类来实现事件的发布和订 阅读全文