C# 将Iqueryable与通用存储库一起使用不会';我找不到记录
我有一个已知的工作存储库。使用structuremap作为IOC 但我无法使用以下内容执行任何Iqueryable搜索:C# 将Iqueryable与通用存储库一起使用不会';我找不到记录,c#,repository,repository-pattern,structuremap,C#,Repository,Repository Pattern,Structuremap,我有一个已知的工作存储库。使用structuremap作为IOC 但我无法使用以下内容执行任何Iqueryable搜索: private IRepository<Employee> _employeeRepository; public Employee GetEmployeeByUserName(Employee employee) { return _employeeRepository.Find() .Where(i
private IRepository<Employee> _employeeRepository;
public Employee GetEmployeeByUserName(Employee employee)
{
return _employeeRepository.Find()
.Where(i => i.User_Name == employee.User_Name)
as Employee;
}
private电子邮箱\u employeeRepository;
公共员工GetEmployeeByUserName(员工)
{
return _employeeRepository.Find()
.Where(i=>i.User\u Name==employee.User\u Name)
作为员工;
}
雇员住所:
public IQueryable<T> Find()
{
var table = this.LookupTableFor(typeof(T));
return table.Cast<T>();
}
public interface IRepository<T> where T: class
{
void Commit();
void Delete(T item);
IQueryable<T> Find();
IList<T> FindAll();
void Add(T item);
}
public IQueryable Find()
{
var table=this.LookupTableFor(typeof(T));
return table.Cast();
}
i推定:
public IQueryable<T> Find()
{
var table = this.LookupTableFor(typeof(T));
return table.Cast<T>();
}
public interface IRepository<T> where T: class
{
void Commit();
void Delete(T item);
IQueryable<T> Find();
IList<T> FindAll();
void Add(T item);
}
公共接口i假设,其中T:class
{
无效提交();
作废删除(T项);
IQueryable Find();
IList FindAll();
无效添加(T项);
}
什么给了???Find方法不需要泛型类型,where子句返回一个IEnumerable,您试图将其转换为Employee。将where子句替换为FirstOrDefault。e、 g
_employeeRepository.Find()
.FirstOrDefault(i => i.User_Name == employee.User_Name)
就这样!!太棒了!:)谢谢