选择Linq不能将类型byte []隐式转换为System.web.httpPostedFileBase

时间:2018-12-10 09:25:47

标签: c# asp.net-mvc

我正在尝试通过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。

1 个答案:

答案 0 :(得分:0)

HttpPostedFileBase是包装类,因此您可以访问您的客户端通过此调用上传的数据

您不在那种情况下通话。

您的数据已经在数据库中。您需要选择其他数据类型以将该数据返回给客户端。 byte[](您已经拥有)可能适合您的情况,我们不知道,这是您要决定的工作。