【发布时间】:2017-11-15 17:06:59
【问题描述】:
假设我有一个名为 Solutions 的实体,它有多个多媒体。我想查询解决方案并检索他们的多媒体列表,但我也想只选择一些字段并从每个多媒体中推断出其他字段,如下所示:
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 异常并显示消息:“Include 路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。”
这是如何实现的?
预期的反应是这样的:
[
{
"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,
}
],
}
]
【问题讨论】:
标签: c# asp.net entity-framework