エンティティ フレームワーク 5 がデータ アクセスとして使用される WCF バックエンドを備えた ASP.NET MVC 4.5 アプリケーションに取り組んでいます。PictureUse はエンティティで、PictureUsageContract は WCF を介して送信される DataContract です。
Repository.GetAll は、オブジェクト コンテキストからエンティティを取得するための標準的なジェネリック get all です。
var allPictureUses = _pictureUseRepository.GetAll()
.Where(x => x.Name != null)
.Include(x => x.PictureUse1)
.Select(x => new PictureUsageContract()
{
ID = x.ID,
DefaultPrice = x.DefaultPrice,
Name = x.Name,
UseDescription = x.UseDescription,
SubItemList = x.PictureUse1.Select(c => c.UseDescription).ToList()
}).ToList();
デバッグ中に例外を受け取りました: {"LINQ to Entities はメソッド 'System.Collections.Generic.List 1[System.String] ToList[String](System.Collections.Generic.IEnumerable
1[System.String])' メソッドを認識せず、このメソッドはストア式に変換できません。"}
それを行ったのは次の行であることはわかっています。
SubItemList = x.PictureUse1.Select(c => c.UseDescription).ToList()
SubItemList はリスト PictureUse はエンティティです。
事前に少し検索したところ、.Select が LINQ to Entities で適切にサポートされていない可能性があることがわかりましたが、この問題に対する具体的な解決策は見つかりませんでした。
どんな助けでも大歓迎です。