我使用EF 4拥有的通用查询方法库模式如下图所示:如何从IEnumerable转换为<type>类型?
public IEnumerable<T> Query(Expression<Func<T, bool>> filter)
{
return objectSet.Where(filter);
}
我知道我可以选择这样一个完整的对象:
context.PeriodRepository.Query(a => a.EntityId == selectedEntityId);
但我想通过一个Linq查询返回它作为type
而不是IEnumerable<type>
使用LINQ表达式而不更改方法。请告诉我如何做到这一点。
你的意思是,你想要一个单一的结果?尝试将'.SingleOrDefault()'添加到命令的末尾。 –
@AndreCalil查询已经返回单个结果,但事情是函数的返回类型是Enumarable,我想要得到的结果只是该类型的对象,而不是IEnumarable 。 –
haansi
现在我明白你想要什么了。那么,这将是方法签名而不是论证,所以我相信你应该写第二种方法。此方法将使用当前的Query方法,但会调用SingleOrDefault并且返回类型为T,而不是集合 –