我正在尝试通过linq select联接多个表,并且该表中的1个由字节数据类型组成。
我的ViewModel如下:
public class ServiceRequestsViewModel
{
public HttpPostedFileBase Attachment { get; set; }
}
我的控制器如下:
public IEnumerable<ServiceRequestsViewModel> ServiceRequestGetAll()
{
var result = (from srv in DB.Services
join srq in DB.ServiceRequests on srv.Id equals srq.ServiceId
join srp in DB.ServiceApprovers on srq.ServiceId equals srp.ServiceId
select new ServiceRequestsViewModel
{
Id = srq.Id,
ServiceId = srq.ServiceId,
RequestorId = srq.RequestorId,
ApproverId = srp.UserId,
Name = srv.Name,
Description = srq.Description,
Status = srq.Status,
Attachment = srq.Attachment,
CreatedBy = srq.CreatedBy,
CreatedDate = srq.CreatedDate
})
;
return result.GroupBy(x => x.Id).Select(group => group.FirstOrDefault()).OrderByDescending(a => a.Status).ThenByDescending(b => b.CreatedDate);
}
对于附件= srq。附件, 我遇到错误:无法将类型byte []隐式转换为System.Web.HttpPostedFileBase。
答案 0 :(得分:0)
HttpPostedFileBase
是包装类,因此您可以访问您的客户端通过此调用上传的数据。
您不在那种情况下通话。
您的数据已经在数据库中。您需要选择其他数据类型以将该数据返回给客户端。 byte[]
(您已经拥有)可能适合您的情况,我们不知道,这是您要决定的工作。