たとえば、私は複数のマルチメディアを持つSolutionsというエンティティを持っています。私は、ソリューションを照会し、マルチメディアの彼らのリストを取得したいが、私はまた、唯一のいくつかのフィールドを選択し、そのような次のようにこれらのマルチメディアのそれぞれから他の人を推測します:Entity Framework:内に新しい属性を選択します。
IQueryable<Solution> result = db.Solutions
.Include(s => s.Multimedia.Select(m => new MultimediaViewModel(){
ID = m.ID,
Name = m.Name,
Path = m.Path,
Preview = MultimediasController.ConvertVideo(m),
Extension = MultimediasController.GetExtension(m),
Type = m.Type
}))
以下が持つSystem.ArgumentExceptionの例外を与えますメッセージ:「インクルードパス式は、タイプで定義されたナビゲーションプロパティを参照する必要があります。参照ナビゲーションプロパティには点線のパスを使用し、コレクションナビゲーションプロパティにはSelect演算子を使用してください。
これはどのように達成できますか?あなたはこのために.INCLUDEを使用する必要はありません
[
{
"id": 2,
"title": "Example",
"subTitle": "Example 1",
"multimedia": [
{
"id": 27,
"name": "teste",
"path": "/Upload_Public/Solution/27_.mp4",
"preview": "/Upload_Public/Solution/27_preview.jpg",
"extension": "mp4",
"type": 0,
}
],
}
]