Две таблицы (MainTable и EventType). EventType представлен в коде как перечисление и имеет внешний ключ в базе данных, так что он выглядит так:
Public enum EventTypeId As Integer
Blah = 1
Blurgh = 2
Whoo = 3
End Enum
Я могу нормально выполнить следующий запрос;
From M in dbx.MainTable Where M.EventType.EventTypeId = 1
Но я не могу этого сделать (код псевдо);
From M in dbx.MainTable Where M.EventType.EventTypeId.Contains(EventTypeId.Blah,EventTypeId.Whoo)
Второй подход более читабелен и удобен в обслуживании, так как он связан с enum, но я не могу найти конструкцию в EF, которая позволяет мне это делать.
Это текущая версия EF, а не .Net 4.0.
В общем, то, что я хочу сделать в SQL - это просто, просто оно должно быть в EF;
Select * From MainTable Where EventTypeId In (1,3);