兩個表(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