指定されたキャストは無効です。
OrderItemState はenumです。
IEnumerable<OrderItemState> states = ...;
IEnumerable<byte> stateIds = Enumerable.Cast<byte>(states);
List<OrderEntry> entries =
(from m in dc.OrderItemMotions
where stateIds.Contains(m.OrderItemStateId)
select ...).ToList();
なんで?
StackTrace の一部:
System.Linq.Enumerable.d__b1 で
1.MoveNext() at System.Linq.Enumerable.<OfTypeIterator>d__aa
1.MoveNext() System.Linq.Enumerable.WhereSelectEnumerableIterator で2.MoveNext() at System.Collections.Generic.List
1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable
1 ソース) System.Data.Linq.SqlClient.QueryConverter.VisitContains(式のシーケンス、式の値) で System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc) で System.Data.Linq.SqlClient.QueryConverter.VisitInner で(式ノード) System.Data.Linq.SqlClient.QueryConverter.Visit で (式ノード) System.Data.Linq.SqlClient.QueryConverter.VisitWhere で (式シーケンス、LambdaExpression 述語) System.Data.Linq.SqlClient.QueryConverter で。 System.Data.Linq.SqlClient.QueryConverter.VisitInner(式ノード) の VisitSequenceOperatorCall(MethodCallExpression mc) .System.Data.Linq.SqlClient.QueryConverter.VisitInner(式ノード) での VisitSequenceOperatorCall(MethodCallExpression mc) .Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc) System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression ノード) で System.Data.Linq.SqlClient.QueryConverter.VisitJoin(Expression outerSequence, Expression innerSequence, LambdaExpression outerKeySelector, System.Data.Linq.SqlClient.QueryConverter.System.Data.Linq.SqlClient.QueryConverter.ConvertOuter (式ノード) の VisitInner (式ノード) .System.Data.Linq.Provider.IProvider.Execute (式クエリ) で System.Data.Linq.DataQuery1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Collections.Generic.List
1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable
1 ソース)