我正在使用此查询:
public IEnumerable.....{
var query = from d in Context.Documentos
where d.CodigoEquipamento == documentoDTO.CodigoEquipamento &&
d.Codigo == tipoEquipamentoDTO.Codigo
select new DocumentoDTO
{
Codigo = d.Codigo,
CodigoEquipamento = d.CodigoEquipamento
}
return query.AsEnumerable < DocumentoDTO>();
}
我得到这个错误:
错误:无法在LINQ to Entities查询中构造实体或复杂类型'Model.DocumentoDTO'。
我正在使用poco,如何在没有所有字段的情况下返回我的pocos集合?
最佳答案
您必须在AsEnumerable
之前应用Select
才能起作用。否则,EF尝试将您的查询转换为SQL,而DocumentoDTO
不是实体-因此出错。
Context.Documentos.Where(d => d.CodigoEquipamento == documentoDTO.CodigoEquipamento &&
d.Codigo == tipoEquipamentoDTO.Codigo).
AsEnumerable().
Select(d => new DocumentoDTO
{
Codigo = d.Codigo,
CodigoEquipamento = d.CodigoEquipamento
});
关于c# - EF4 POCO,我如何过滤ByXX?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4051564/