我有这个 linq 查询。它抱怨警告消息。
警告 CS8603:可能返回空引用
Code:
return await _applicationDbContext.Pies
.Include(x => x.Portions).AsSingleQuery()
.Include(x => x.Ingredients).AsSplitQuery()
.SingleOrDefaultAsync(x => x.Id == id);
更重要的是,这使得它变得丑陋,到处都是曲线。
有什么办法可以解决吗?
看了下面的SO帖子,但不知道该怎么做。
SingleOrDefaultAsync()
完全执行方法名称中的操作,它尝试查找单个条目,如果未找到任何条目,则返回默认值。
引用类型的默认值,您的对象Pie
在这种情况下,为空,因此出现警告。
您可以返回Task<Pie?>
或者以某种方式处理空值。一种方法是使用.SingleAsync()
相反,如果没有找到任何东西,它将抛出异常 - 但因此它永远不会返回 null。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)