从数据库中选择对象列表中的多个列

时间:2015-06-16 08:10:58

标签: c# linq entity-framework linq-to-entities

我在从数据库中进行选择并检查行中的多个列是否等于对象列表时遇到问题。我是你的linq和EF。 我有一个像这样的对象列表:

public class Offer
{
    public string OrderID { get; set; }
    public string OrderNumber { get; set; }
    public string Domain { get; set; }
}

这就是我试图从数据库中选择的方式

return oDB.Offers.Where(w => w.Status == WOStatus.Offer
       //pOffers is a object of type List<Offer>
       && pOffers.Any(o => o.OrderID == w.OrderID &&
       o.OrderNumber == w.OrderNumber && o.Domain == w.Domain)). 
       Select(w => new OffModels.Model { ID = w.ID, OrderID = w.OrderID,
       OrderNumber = w.OrderNumber, 
       Description = w.Description, Visible = w.Visible,
       Domain = w.Domain }).ToList();

当我这样尝试时,我收到了错误

  

“无法处理类型'Offer []',因为它没有已知的值到图层的映射。” (System.NotSupportedException)捕获到System.NotSupportedException:“无法处理类型'Offer []',因为它没有已知的值到图层的映射。”

如果我没错,那是因为它无法转换为SQL查询。还有一件事,在此表中商品我有近500万条记录。如何让它快速工作?

0 个答案:

没有答案