关于 IFreeSql 注入,与 AspectCore 冲突的说明
FreeSql 以 MIT 开源协议托管于 github:https://github.com/2881099/FreeSql
IFreeSql 作为 ORM 顶级对象,没有设置 NameSpace(命名空间),作者的用意是不想使用者在 .cs 文件顶部,多出一堆不必要的 using FreeSql.xxx。
最近有同学尝试用 AspectCore 翻车了。
经过定位以及源码调试发现,AspectCore 默认不支持 Ioc 容器内注入没有 NameSpace(命名空间)的类型。这个问题已经向作者反馈,但是作者并不想改,他的观点:没有 NameSpace(命名空间)是使用者的问题。
这种情况兼容一下其实只判断加个 if 判断即可。
好吧,绕道而行:
方法一:自己定义带 namespace 的类注入,包一层再注入使用。
namespace xxx
{
public class MyClass
{
public IFreeSql orm {get;set;}
}
}
方法二:修改 AspectCore 源码
参考资料
《新人学习指引》 | 《Select》 | 《Update》 | 《Insert》 | 《Delete》 | |
《表达式函数》 | 《CodeFirst》 | 《DbFirst》 | 《BaseEntity》 | |
《Repository》 | 《UnitOfWork》 | 《过滤器》 | 《乐观锁》 | 《DbContext》 | |
《读写分离》 | 《分区分表》 | 《租户》 | 《AOP》 | 《黑科技》 | 更新日志 |
关于 IFreeSql 注入,与 AspectCore 冲突的说明的更多相关文章
- ASP.NET Core 3 使用原生 依赖注入 集成 AspectCore ,实现 AOP 功能
在NETCORE中可以使用AOP的方式有很多很多,包括国内优秀的开源框架asp.netcore同样可以实现AOP编程模式. IOC方面,个人喜欢net core 3自带的DI,因为他注册服务简洁优 ...
- AspectCore动态代理中的拦截器详解(一)
前言 在上一篇文章使用AspectCore动态代理中,简单说明了AspectCore.DynamicProxy的使用方式,由于介绍的比较浅显,也有不少同学留言询问拦截器的配置,那么在这篇文章中,我们来 ...
- websocket无法注入bean问题解决方案
websocket服务端往往需要和服务层打交道,因此需要将服务层的一些bean注入到websocket实现类中使用,但是呢,websocket实现类虽然顶部加上了@Component注解,依然无法通过 ...
- websocket session共享
单机运行 用户a通过服务器进入房间room,用户b也通过房间进入room,用户之间是通过session来通话的,所以session直接存储在集合中就可以了. 因为session存储在一台服务器的集合中 ...
- @Autowired 和 @Qualifier
一 无冲突 bean工厂 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- Spring Boot 如何在类中应用配置文件
如何在类中应用配置文件 优先级: 当前目录子目录的/config > 当前目录 > classpath的/config包 > classpath的根目录 即:越靠近的优先级越高 ** ...
- webpack 基本功能和原理
依赖管理:方便引用第三方模块.让模块更容易复用.避免全局注入导致的冲突.避免重复加载或加载不需要的模块. 合并代码:把各个分散的模块集中打包成大文件,减少HTTP的请求链接数,配合UglifyJS可以 ...
- webpack 的编译原理
自从接触了react,vue 这两个框架,都会用到webpack这个打包工具.面试的时候,经常被问到知道webpack的编译原理吗? 可以简单的介绍一下.每每这个时候都被问的哑口无言,平时用的时候挺顺 ...
- vue jsx与render的区别及基本使用
vue template语法简单明了,数据操作与视图分离,开发体验友好.但是在某些特定场合中,会限制一些功能的扩展,如动态使用过滤器.解析字符串类型的模板文件等.以上功能的实现可以借助vue的rend ...
- Vue 3.0 Composition API - 中文翻译
Composition API 发布转载请附原文链接 https://www.cnblogs.com/zgh-blog/articles/composition_api.html 这两天初步了解了下 ...
随机推荐
- Java虚拟线程探索
在Java 21中,引入了虚拟线程,这是一个非常非常重要的特性,之前一直苦苦寻找的Java协程,终于问世了.在高并发以及IO密集型的应用中,虚拟线程能极大的提高应用的性能和吞吐量. ## 什么是虚拟线 ...
- Q:Win10关闭内存压缩功能
微软在Win10中就已经启用了内存压缩机制,在Win11当中继续了这一设定. 通过任务管理器查看. taskmgr ·通过命令行查看. 使用系统管理员权限,打开PowerShell,然后输入以下命令: ...
- 7.1 闲话-Erdős–Gallai 定理和哈基米算法
Erdős–Gallai 定理 前几天考试有一个建出最大流模型,转为最小割,然后模拟最小割的套路. 这一个套路并不是少见的.在 Gale-Ryser 定理和 Erdős–Gallai 定理的证明都体现 ...
- linux ubuntu更改软件源
更换步骤 sudo cp /etc/apt/sources.list /etc/apt/sources.list.back sudo vim /etc/apt/sources.list 替换为下面内容 ...
- Luogu P10842 Piggy and Trees 题解 [ 绿 ] [ 拆边 ] [ 贡献思维 ] [ 组合数学 ]
Piggy and Trees:把路径拆成边的思维题. 思路 一看到这题的路径,就想到了 Luogu P3177 树上染色 这题化路径为边的贡献,分别计算的思维. 那么对于此题,先来观察题目里式子的意 ...
- jconsole配置
使用jconsole远程监控可执行jar(非Tomcat)运行状况的配置 程序启动参数配置: nohup /data/soft/jdk1.8.0_251/bin/java -Dcom.sun.mana ...
- Java轻量级代码工程
一.背景简介 最近2年,很多公司接项目开始不挑剔了,只要核算下来有收益不会亏,就会库库的做各种没头没脑的项目,都是抱着多撑一天是一天的躺平心态. 如果项目和业务稳定,自然也有动力卷架构卷设计. 然而2 ...
- MarkDown学习使用图片
学习MarkDown使用
- SpringBoot - [04] 自动装配原理
题记部分 Spring Boot的自动装配(Auto-Configuration)原理是其简化Spring应用开发的关键特性之一,它能自动配置Spring框架及第三方库,极大地减少了手动配置的工作 ...
- 【忍者算法】从快慢指针到倒数查找:优雅解决链表倒数问题|LeetCode第19题"删除链表的倒数第N个结点"
从快慢指针到倒数查找:优雅解决链表倒数问题 从生活场景说起 想象你在一个漫长的队伍中,想知道自己距离队尾还有多少人.一个巧妙的方法是:让你的朋友从你所在位置往后数N步,然后你和朋友一起向后走.当朋友走 ...