【发布时间】:2010-10-13 01:59:15
【问题描述】:
我在一组存储库后面使用实体框架。存储库使用 DTO 而不是实体框架生成的实体对象。我正在使用 AutoMapper 来回转换它们。
我无法弄清楚如何执行以下操作:
方法定义:
public IEnumerable<DTO.User> Get(Func<DTO.User, bool> whereClause)
例子:
var users = userRepository.Get(usersWhere => usersWhere.PostCount > someNumber);
我希望能够像这样将 Func<T, bool> 传递给实体框架:
var users = entityFramework.Users.Where(whereClause);
显然,这不会构建,因为 .Where() 方法需要 Entities.User,而不是 DTO.User。
有没有办法将Func<DTO.User, bool> 转换为Func<Entities.User, bool>?
【问题讨论】:
标签: c# entity-framework lambda automapper