【发布时间】:2020-12-08 12:44:47
【问题描述】:
我有一个返回值列表的多选列表,我想从匹配所有选定 ID 的数据库中获取数据,
例如:如果用户选择了(RequestIdStatus=[1,2,3]),我想从数据库中获取数据 RequestIdStatus 为 1、2 和 3
这是我的 ViewModel:
public class ReportViewModel
{
public string RequestCode { get; set; }
public string RequestDate { get; set; }
public string ComplaintIdType { get; set; }
public string ComplaintAgainstIdType { get; set; }
public List< WorkflowStatus> RequestIdStatus { get; set; } // النتيجة
}
我的模特:
public class RequestModel
{
public long RequestCode { get; set; }
public DateTime RequestDate { get; set; }
public DateTime RequestExpireDate { get; set; }
public WorkflowStatus RequestIdStatus { get; set; }
}
我的 WorkFlowStatues 类;
public enum WorkflowStatus
{
[EnumMember]
New = 1,
[EnumMember]
JusticeWritingUnderProccessing = 2,
[EnumMember]
JusticeWritingReply = 3,
}
控制器:
public ActionResult GeneratingReports(ReportViewModel Report)
{
var RequestReport = _requestServices.GetRequetsForReport().Where(c =>
c.RequestIdStatus == Report.RequestIdStatus
).Select(c => new ReportViewModel
{
RequestCode = c.RequestCode.ToString(),
RequestDate = DateHelper.ConvertGregorianToUmAlQura(c.RequestDate, "dd / MM / yyyy"),
ComplaintIdType = AppCache.ComplaintTypeName(c.ComplaintIdType),
ComplaintAgainstIdType = AppCache.ComplaintAgainstTypeName(c.ComplaintAgainstIdType),
RequestStatus = AppCache.RequestStatusName(c.RequestIdStatus),
RequestResult = AppCache.RequestRName(c.RequestIdResult),
AgencyDocumentationEmployeeId = _requestServices.GetUserFullNameById(c.AgencyDocumentationEmployeeId)
}).ToList();
string ReportJson = JsonConvert.SerializeObject(RequestReport);
return Content(ReportJson);
}
RequestIdStatus 列表已正确发布到控制器,但我想设置正确的条件以在此行返回所有选定 id 的数据:
c.RequestIdStatus == Report.RequestIdStatus
我收到了这个错误:
Operator "==" cannot be applied to operands of type "WorkflowStatues" and "List<WorkflowStatues>"
【问题讨论】:
-
c.RequestIdStatus的数据类型是什么? -
枚举 WorkflowStatus 采用数字 1,2,3
标签: c# asp.net-mvc entity-framework linq