Linq 包含枚举数组

Jen*_*ens 4 c# linq arrays enums entity-framework

我想返回当前处于给定状态之一的票证列表。有一个枚举 TicketState 数组(具有值 Open、InProgress 和 Finished)。

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

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

无法比较“Project.BL.Domain.Ticketing.TicketState[]”类型的元素。仅支持原始类型、枚举类型和实体类型。

我试图从数组中创建一个列表并使用字节数组来代替,但我不断收到异常。

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

Jaa*_*rus 5

您在寻找Enumerable.Any吗?

return ctx.Tickets.Where(t => states.Any(s => t.State == s)).AsEnumerable();   
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

2717 次

最近记录:

10 年,2 月 前