IFreeSql 與 AspectCore 注入衝突解決

FreeSql 以 MIT 開源協議託管於 github:https://github.com/2881099/FreeSqlhtml

IFreeSql 做爲 ORM 頂級對象,沒有設置 NameSpace(命名空間),做者的用意是不想使用者在 .cs 文件頂部,多出一堆沒必要要的 using FreeSql.xxx。git

最近有同窗嘗試用 AspectCore 翻車了。
github

通過定位以及源碼調試發現,AspectCore 默認不支持 Ioc 容器內注入沒有 NameSpace(命名空間)的類型。這個問題已經向做者反饋,可是做者並不想改,他的觀點:沒有 NameSpace(命名空間)是使用者的問題。函數

這種狀況兼容一下其實只判斷加個 if 判斷便可。學習

好吧,繞道而行:spa

方法一:本身定義帶 namespace 的類注入,包一層再注入使用。調試

namespace xxx
{
   public class MyClass
   {
          public IFreeSql orm {get;set;}
   }
}

方法二:修改 AspectCore 源碼日誌

參考資料

《新人學習指引》 \ 《Select》 \ 《Update》 \ 《Insert》 \ 《Delete》
《表達式函數》 \ 《CodeFirst》 \ 《DbFirst》 \ 《BaseEntity》
《Repository》 \ 《UnitOfWork》 \ 《過濾器》 \ 《樂觀鎖》 \ 《DbContext》
《讀寫分離》 \ 《分區分表》 \ 《租戶》 \ 《AOP》 \ 《黑科技》 \ 更新日誌
相關文章
相關標籤/搜索