【发布时间】:2017-09-27 10:28:17
【问题描述】:
我有一个包含 EF Dbcontext 和实体的 DAL 层。我有一个服务,其中包含一个方法,我想做一个来自逻辑层的简单 Select。
层: Logic=>DalService=>DbContext.DbSet.Select(something)
DAL 不知道任何 DTO 模型。 逻辑层不知道任何实体。
我基本上是在尝试转换:
Func<T, dynamic> 选择器
到
Func<TEntity, dynamic> 选择器,我基本上可以在 DbSet<TEntity> 上使用。
谢谢
【问题讨论】:
-
FWIW,我认为您的架构是一种反模式,我认为您这样做是为了分离关注点或简化单元测试。您的“逻辑”层应直接访问 DbContext,以减少对复杂中间件的需求,例如您正在寻找的。如有必要,该层应将任何结果映射到 DTO 模型。
-
可能是
Expression<Func<T, dynamic>>而不是Func<T, dynamic>? -
查看此问题以了解类似要求:stackoverflow.com/questions/2797261/…
-
是的;表达式
> 到表达式 >
标签: c# entity-framework expression func