我正在使用ASP.Net Core 2.0和Entity Framework,我正在尝试将模型返回到包含Employment实体的页面,其中包含了EmploymentDocument实体的集合。对于后者,我不想加载数据(byte [])列,但我确实想要所有其他列,最重要的是FileName。
我有的linq查询加载包括数据列在内的所有内容:
var employment = await _context.Employment
.Include(e => e.EmploymentDocuments) // will load all associated document data
.SingleOrDefaultAsync(m => m.EmploymentID == id);
此处的目的是能够显示页面上所有文档名称的列表,其中包含可用于下载所选文件数据的链接。
答案 0 :(得分:1)
手动选择所需的所有数据并将其存储在某个Dto对象中:
var employment = await _context.Employment
.Where(m => m.EmploymentID == id)
.Select(e => new EmploymentDto
{
ID = e.EmploymentID,
Docs = e.EmploymentDocuments.Select(o => o.FileName)
})
.SingleOrDefaultAsync();