简单的 LINQ 查询:

from transport in db.Transports
 select new
 {
    Current = transport.CurrentLocation,
    CurrentCarriers = transport.CurrentLocation.Carriers,
  };

问题:CurrentLocation 可能为空。如果是,则执行此查询会引发 NullReference。我试着添加一个支票
transport.CurrentLocation == null ? null : transport.CurrentLocation.Carriers

但是 Linq to sql 似乎无法解析。

任何不涉及为每个传输发送额外查询的不错的解决方案?

最佳答案

我通常只使用“让”。

from x in Foo
let y = x.Bar
where y != null
select y.Baz;

更新:

我觉得 ??运算符确实转换为 SQL。

关于c# - Linq 到 sql : properties of properties that may be null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/630827/

10-13 06:22