我有一個包含EF Dbcontext和實體的DAL圖層。我有一個服務,其中包含一個方法,我希望從邏輯層執行簡單的選擇。Func <T, dynamic> to Func <TEntity,dynamic>
層: 邏輯=> DalService => DbContext.DbSet.Select(東西)
DAL不知道任何DTO模式。 邏輯層不知道任何實體。
基本上,我想轉換: Func<T, dynamic>
選擇 到 Func<TEntity, dynamic>
選擇,我可以基本上在DbSet<TEntity>
使用。
感謝
FWIW,我會考慮你的架構是一個反模式的東西,我相信你正在做這個分離的擔憂或使單元測試更容易。你的「邏輯」層應該直接訪問DbContext,以減少對複雜中間件的需求,比如你正在尋找的東西。如果需要,該層應該將任何結果映射到DTO模型。 –
也許它是'表達式'而不是'Func''? –
ASpirin
看到這個問題的類似要求:https://stackoverflow.com/questions/2797261/mutating-the-expression-tree-of-a-predicate-to-target-another-type –