随笔分类 - .Net Core
摘要:Ef Core花里胡哨系列(11) ef8 无实体查询,你好! EF7 引入了返回标量类型的原始 SQL 查询。 这在 EF8 中得到了增强,包括返回任何可映射 CLR 类型的原始 SQL 查询,而无需在 EF 模型中包括该类型。 使用非映射类型的查询是使用 SqlQuery 或 SqlQueryR
阅读全文
摘要:Ef Core花里胡哨系列(10) 动态起来的 DbContext 我们知道,DbContext有两种托管方式,一种是AddDbContext和AddDbContextFactory,但是呢他们各有优劣,例如工厂模式下性能更好呀等等。那么,我们能否自己托管DbContext呢? Github Dem
阅读全文
摘要:Ef Core花里胡哨系列(9) 阴影属性,有用还是没用? Ef Core中提供了一些有趣的实现,例如阴影属性!虽然大部分时候我还没有遇到应用场景,但是不妨碍我们了解一下。 阴影属性是EF Core中的一个特性,它允许你在模型中定义一个属性,但是这个属性并不在对应的CLR类中。阴影属性只存在于EF
阅读全文
摘要:Ef Core花里胡哨系列(8) 如何可控管理Ef Core的迁移? 通常使用Ef Core迁移时,可能就是简单的使用命令dotnet-ef migrations add或者dotnet ef database update等等,基本都需要靠命令维护,非常的繁琐。特别是现在很多项目都是迭代型项目,很
阅读全文
摘要:Ef Core花里胡哨系列(7) 使用Ef Core也能维护表架构? 我们这里指的并不是查询,而是利用Ef的迁移原理,生成可用的其它表架构操作的Sql。 例如你想在Ef Core里建表,并且可能程序里有多个provider,那么写Sql将是一件痛苦的事情,我们就是利用Ef Core迁移时的操作,来为
阅读全文
摘要: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) 动态修改实体对应的表(分表)、
阅读全文
摘要: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。它定义了一些接口和类来实现事件的发布和订
阅读全文
摘要:Soda.Http 基于HttpClient封装的 Http 请求库。如果有什么好想法,可以提 Issue 或者 Pr。,如果想要使用,直接在nuget搜索Soda.Http即可。 Github项目地址:Soda.Http 用法 1 预载 预载配置并不是必须的,但是有助于我们进行一些通用基础设置,例
阅读全文
摘要:Npoi导入Excel Npoi导入Excel其实只要读成DataTable就可以随意操作了, 比如转为Entity... By: 胖纸不争 NetCore🐧群: 743336452 核心代码: public class ExcelImport { public string FilePath {
阅读全文
摘要:NetCore中将SQLServer数据库备份为Sql脚本 描述: 最近写项目收到了一个需求, 就是将SQL Server数据库备份为Sql脚本, 如果是My Sql之类的还好说, 但是在网上搜了一大堆, 全是教你怎么操作SSMS的, 就很d疼! 解决方案: 通过各种查找资料, 还有一些老哥的帮助,
阅读全文
摘要:SuperSocket 2.0从入门到懵逼 作者:胖纸不争 SuperSocket 2.0从入门到懵逼 1 使用SuperSocket 2.0在AspNetCore项目中搭建一个Socket服务器 1.1 引入SuperSocket 2.0 1.2 在AspNetCore中搭建一个Socket服务器
阅读全文
摘要:# .Net Core Dto映射(AutoMapper) 我们假设一个场景, 采用EF Core+Web Api, 这时候可能会出现EF Core中的Entity Model和在项目中使用的Model之间对应关系出现偏差, 如果使用属性意一一对应, 不免会有大量的工作量, 上代码 EntityModels.Employee.cs ```csharp public class Employee...
阅读全文