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 冲突的说明的更多相关文章

  1. ASP.NET Core 3 使用原生 依赖注入 集成 AspectCore ,实现 AOP 功能

    在NETCORE中可以使用AOP的方式有很多很多,包括国内优秀的开源框架asp.netcore同样可以实现AOP编程模式.   IOC方面,个人喜欢net core 3自带的DI,因为他注册服务简洁优 ...

  2. AspectCore动态代理中的拦截器详解(一)

    前言 在上一篇文章使用AspectCore动态代理中,简单说明了AspectCore.DynamicProxy的使用方式,由于介绍的比较浅显,也有不少同学留言询问拦截器的配置,那么在这篇文章中,我们来 ...

  3. websocket无法注入bean问题解决方案

    websocket服务端往往需要和服务层打交道,因此需要将服务层的一些bean注入到websocket实现类中使用,但是呢,websocket实现类虽然顶部加上了@Component注解,依然无法通过 ...

  4. websocket session共享

    单机运行 用户a通过服务器进入房间room,用户b也通过房间进入room,用户之间是通过session来通话的,所以session直接存储在集合中就可以了. 因为session存储在一台服务器的集合中 ...

  5. @Autowired 和 @Qualifier

    一 无冲突 bean工厂 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  6. Spring Boot 如何在类中应用配置文件

    如何在类中应用配置文件 优先级: 当前目录子目录的/config > 当前目录 > classpath的/config包 > classpath的根目录 即:越靠近的优先级越高 ** ...

  7. webpack 基本功能和原理

    依赖管理:方便引用第三方模块.让模块更容易复用.避免全局注入导致的冲突.避免重复加载或加载不需要的模块. 合并代码:把各个分散的模块集中打包成大文件,减少HTTP的请求链接数,配合UglifyJS可以 ...

  8. webpack 的编译原理

    自从接触了react,vue 这两个框架,都会用到webpack这个打包工具.面试的时候,经常被问到知道webpack的编译原理吗? 可以简单的介绍一下.每每这个时候都被问的哑口无言,平时用的时候挺顺 ...

  9. vue jsx与render的区别及基本使用

    vue template语法简单明了,数据操作与视图分离,开发体验友好.但是在某些特定场合中,会限制一些功能的扩展,如动态使用过滤器.解析字符串类型的模板文件等.以上功能的实现可以借助vue的rend ...

  10. Vue 3.0 Composition API - 中文翻译

    Composition API 发布转载请附原文链接 https://www.cnblogs.com/zgh-blog/articles/composition_api.html 这两天初步了解了下 ...

随机推荐

  1. Linux部署Python项目

    项目部署 项目部署对于操作通常是由运维人员来进行统一管理装配的,但是对于一个开发人员来讲,基础的项目部署还是要会的. 这里我主要讲解python的项目是如何部署的,至于项目哪里来的,这就要看观众如何抉 ...

  2. Python 数

    Python 数 在Python中,数字是编程中不可或缺的一部分.Python支持多种类型的数字,包括整数.浮点数等.下面我们将详细介绍这些数字类型以及它们之间的运算和格式化. 整数 整数是Pytho ...

  3. SpringBoot利用@Async注解实现异步调用

    前言:异步编程是让程序并发运行的一种手段,使用异步编程可以大大提高我们程序的吞吐量,减少用户的等待时间.在Java并发编程中实现异步功能,一般是需要使用线程或者线程池.而实现一个线程,要么继承Thre ...

  4. windows配置maven

    1.下载mavenhttps://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/ 中找到相应的版本2.解压3.配置环境变量MAVEN_HOMED: ...

  5. mysql之PreparedStatement的增删改

    编写配置文件[db.properties]: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbcStudy?useUni ...

  6. RFID基础——高频RFID协议、读写模块和标签

    RFID技术中的低频.高频.超高频有各自的优点和应用场景.其中,与我们个人生活息息相关的门禁卡.公交卡.身份证.图书标签主要用到的是高频RFID.这些应用也对应着高频RFID中不同的协议. 高频RFI ...

  7. Netty实战:Netty优雅的创建高性能TCP服务器(附源码)

    文章目录 前言 1. 前置准备 2. 消息处理器 3. 重写通道初始化类 4. 核心服务 5. 效果预览 6. 添加通道管理,给指定的客户端发送消息 7. 源码分享 前言 Springboot使用Ne ...

  8. Java微信小程序登录接口获取openid

    根据官方文档,wx.login()的回调函数中,需要我们传递生成的用户登录凭证到code2accessToken的接口中   小程序登录方法 code2accessToken的方法中要求传入如下参数 ...

  9. 【最佳方案】RAG 技术深度剖析及 MaxKB 在企业 AI 落地中的应用策略

    RAG 已经成为 LLM 大语言模型在企业落地的最佳方案,其中主要是因为 RAG 能够解决幻觉问题.时效性问题以及数据安全问题. 解决幻觉问题: LLM 文本生成的底层原理是基于概率的 token b ...

  10. SparkRDD算子初识

    Spark 的核心是建立在统一的抽象弹性分布式数据集(Resiliennt Distributed Datasets,RDD)之上的,这使得 Spark 的各个组件可以无缝地进行集成,能够在同一个应用 ...