Entity Frameworkオブジェクトに対してLINQクエリが実行されています。ここでは、クエリの要約は次のとおりです。基本的にはLINQ to Entity: "選択"部分にContainsが含まれていると予期しないエラーが発生する
//a list of my allies
List<int> allianceMembers = new List<int>() { 1,5,10 };
//query for fleets in my area, including any allies (and mark them as such)
var fleets = from af in FleetSource
select new Fleet
{
fleetID = af.fleetID,
fleetName = af.fleetName,
isAllied = (allianceMembers.Contains(af.userID) ? true : false)
};
、艦隊のセットを取得しているものを私がやっています。 allianceメンバーリストには、私と同盟関係にあるすべてのユーザーのINTが含まれています。艦隊の所有者がそのリストの一部であればisAllied = trueを設定し、そうでない場合はfalseを設定したいと思います。私が含まれている使用していた場合、私はこのエラーを取得して理解することができます
「エンティティへのLINQのメソッド 『ブールが含まれています(Int32)を』メソッドを認識しない」:
私はこれを行う
が、私は例外を見ていますクエリのどこの部分が、なぜ私はそれをselectで取得できますか?この時点までに、クエリが実行され、結果が返されると仮定します。このコードは、データを制約するものではありません。私はisAlliedフラグを設定して、私が必要とするものを達成するためのヒントを教えてください。
おかげ
次のバージョンのEntity Frameworkで 'Contains' *がサポートされることに注意してください。 –