两个表(MainTable和EventType)。 EventType在代码中表示为枚举,并在数据库中被外键控制,使其看起来像;使用Entity Framework如何使用多个枚举值通过外键过滤?
Public enum EventTypeId As Integer
Blah = 1
Blurgh = 2
Whoo = 3
End Enum
我可以运行以下查询罚款;
From M in dbx.MainTable Where M.EventType.EventTypeId = 1
但我不能这样做(psuedo code);
From M in dbx.MainTable Where M.EventType.EventTypeId.Contains(EventTypeId.Blah,EventTypeId.Whoo)
的第二个方法是更具可读性和可维护性,因为它链接到枚举,但我不能找到EF一个结构,它允许我做这件事。
这是EF的当前版本,而不是.Net 4.0。
总之,我想在SQL中做什么很容易,只需要在EF中;
Select * From MainTable Where EventTypeId In (1,3);
我发现[一个类似的问题(http://stackoverflow.com/questions/328600/how-do-you-do-a的列表的一部分-sql-style-in-statement-in-linq-to-entities-entity-framework-i)关于LINQ中的IN语句。 – p2u 2010-02-24 13:01:52