【发布时间】:2020-05-31 14:10:52
【问题描述】:
我正在尝试对 MyReports 文件夹中的自定义水晶报表使用 Linq 查询。但是,水晶报表引擎抱怨空值。
我已经设法将序列号留空,它可能为空,但 DateTime 对我来说更成问题。
我试过了:
InspectionDate = subpat.InspectionDate == null ? "" : subpat.InspectionDate,
但错误是:
Type of conditional expression cannot be determined because there is no implicit conversion between 'string' and 'System.DateTime?'
如果为 null,我只想要一个空白结果。
我的查询:
var today = DateTime.Now.Date;
var tomorrow = today.AddDays(30);
var dateresult = db.ClinicalINSs.GroupBy(d => d.ClinicalAssetID)
.SelectMany(g => g.OrderByDescending(d => d.NextInspectionDate)
.Take(1));
var ClinicalIDVM = (from s in dateresult.Where(q => q.NextInspectionDate <= tomorrow)
join co in db.ClinicalAssets on s.ClinicalAssetID equals co.ClinicalAssetID into AR
let subred = AR.OrderByDescending(subredASS => subredASS.ClinicalAssetID).FirstOrDefault()
join cp in db.ClinicalPATs on s.ClinicalAssetID equals cp.ClinicalAssetID into AP
let subpat = AP.OrderByDescending(SubPATASS => SubPATASS.ClinicalAssetID).FirstOrDefault()
orderby s.NextInspectionDate descending
select new ClinicalIDVM
{
ClinicalAssetID = s.ClinicalAssetID,
ProductName = subred.ProductName,
SerialNo = subred.SerialNo == null ? "" : subred.SerialNo,
InspectionDate = subpat.InspectionDate,
NextInspectionDate = s.NextInspectionDate
}).ToList();
【问题讨论】:
标签: linq asp.net-mvc-5 crystal-reports entity-framework-6