我正在处理一个复杂的linq
查询,如下所示,在运行时引发System.NullReferenceException
异常。不幸的是,Visual Studio没有提供其他信息,我也无法对值进行QuickWatch
以检查哪个值为空。有没有一种方法可以调试这种查询,以便我可以看到出了什么问题?
var dataSource = (from c in session.Query<PortChannel>()
select
new PortChannelData
{
Location = c.Port.MagazineSlot.SiteMagazine.Site.SiteName,
MagazineName =
String.Format("{0}-{1}", c.Port.MagazineSlot.SiteMagazine.MagazineType.MagazineName,
c.Port.MagazineSlot.SiteMagazine.MagazineNo),
SlotNo = c.Port.MagazineSlot.SlotNo,
PortNo = c.Port.PortNo,
Klm = c.Klm,
StmNo = c.StmNo,
Label = c.SiteName == null ? null : String.Format("{0}_{1}", c.SiteName, c.E1No),
ChannelFullName = c.ChannelFullName,
BscRncPort = c.BscRncPort,
MgwPort = c.MgwPort,
ReservedBy = c.ReservedBy,
CrossFullName = c.CrossConnection == null ? null : c.CrossConnection.ChannelFullName
}).ToList();
}