【发布时间】:2021-12-14 02:04:52
【问题描述】:
我有以下问题。
var railcarInfo = await (from rt in DbContext.RailcarTrips
where rt.WaybillRailcar.RailcarNumber == clm.RailcarNumber &&
rt.WaybillRailcar.Waybill.CreateDate <= clm.SightingDate
orderby rt.WaybillRailcar.Waybill.CreateDate descending
select new
{
RailcarTrip = rt,
WaybillCreateDate = rt.WaybillRailcar.Waybill.CreateDate,
IsLoaded = rt.WaybillRailcar.Weight > 0
})
.AsNoTracking()
.FirstOrDefaultAsync();
但由于某种原因,Visual Studio 在此查询之后立即确定 'railcarInfo' 此处不为空。
FirstOrDefaultAsync() 的要点是它返回集合中的第一项,如果集合为空,则返回 null。这里绝对可以为空。谁能明白为什么 Visual Studio 似乎在这里感到困惑?
【问题讨论】:
-
@Evk 很好的发现,如果它刚刚点击了定义......无论如何,这可能值得回答,你拥有我合法允许给予的所有可用的支持
标签: c# entity-framework linq .net-core nullable-reference-types