MVC アプリケーションで Entity Framework 5 を使用しています。一致のリストを保存し、実際の更新を行う前に、投稿されたすべての一致を EF メモリに読み込みたいと考えています。
次のコードがあります(動作します)。_context は私の EfDbContext です:
public bool UpdateMatches(IEnumerable<Match> matchesToUpdate, int userID)
{
matchesToUpdate = matchesToUpdate as List<Match> ?? matchesToUpdate.ToList();
var matchIDs = matchesToUpdate.Select(m => m.ID).ToArray();
_context.Matches.Where(x => matchIDs.Contains(x.ID)).Load();
}
しかし、私が実際に欲しいのは次のようなものです:
public bool UpdateMatches(IEnumerable<Match> matchesToUpdate, int userID)
{
_context.Matches.Where(m => matchesToUpdate.Any(x => x.ID == m.ID)).Load();
}
しかし、私はエラーが発生しています
「型 'Matches' の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。」
また、Contains でも試しましたが、うまくいきませんでした。私は何を間違っていますか?