Linq包含枚举数组

时间:2015-07-02 08:43:27

标签: c# arrays linq entity-framework enums

我想返回当前处于给定状态之一的故障单列表。有一个enum TicketState数组(值为Open,InProgress和Finished)。

public IEnumerable<Ticket> ReadTickets(TicketState[] states)
{
    return ctx.Tickets.Where(t => states.Contains(t.State)).AsEnumerable();   
}

测试方法时出现以下异常:

  

无法比较'Project.BL.Domain.Ticketing.TicketState []'类型的元素。仅支持基本类型,枚举类型和实体类型。

我试图从数组中创建一个列表并使用一个字节数组,但我一直有例外。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您在寻找Enumerable.Any吗?

return ctx.Tickets.Where(t => states.Any(s => t.State == s)).AsEnumerable();