1
我正在使用EF 5.我的實體有一個名爲Status的屬性,它是MyEntityStatus類型的枚舉。在實體框架的where子句中使用枚舉值數組5
我需要做一個查詢,我返回所有具有任何狀態列表的實體。
我的基本代碼如下:
var statusArray = new MyEntityStatus[]{MyEntityStatus.Status1, MyEntityStatus.Status2};
var results = myDataContext.MyEntities..Where(e => statusArray.Contains(e.Status)).ToArray();
代碼編譯,但EF返回以下錯誤:
The type 'MyEntityStatus' does not match the EDM enumeration type 'MyEntityStatus' or its underlying type 'Byte'.
如果我嘗試只使用一個字節數組,而不是明確的枚舉類型,我得到以下錯誤:
DbExpressionBinding requires an input expression with a collection ResultType.
任何想法?
你試過Contains()而不是Any()嗎? – OzrenTkalcecKrznaric
剛剛嘗試過。將澄清更新問題。 – RMD
嘗試在包含之前將其轉換爲int:e => statusArray.Cast().Contains ... –
OzrenTkalcecKrznaric