我们已经看到了一些实现EF4存储库和工作单元模式(Reference 1、Reference 2)的非常有用的方法。
我看到的所有示例都使用需要使用LINQ表达式语法的方法,例如:
IEnumerable<T> Query(Expression<Func<T, bool>> filter)
var employees = employeeRepository.Query(emp => emp.Username == userName); 但是我想使用LINQ查询表达式语法,例如:
from emp in context.Employees select emp where emp.Username == userName;有没有办法既能享受存储库和UoW的好处,又能在存储库方法中使用LINQ查询表达式语法?
理查德
发布于 2011-06-21 14:41:13
可以,但您必须公开IQueryable<T>
IQueryable<T> Query();在此之后,您可以使用如下代码:
var query = from emp in EmployeeRepository.Query()
where emp.Username == userName
select emp;difference between approaches昨天已经讨论过了。此外,还多次讨论了存储库和工作单元的整个概念-包括why to use them and what problems you can expect。
https://stackoverflow.com/questions/6421285
复制相似问题