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》 | 《黑科技》 | 更新日志 |
