我正在使用Crystal Report创建报告。我有两个表,Driver_Specifications
和WatchRow
。
WatchRow
的主键是Driver_Specifications
的外键。我在报告文件中设置了一些字段以显示Driver_Specifications
的数据,并且我希望显示WatchRow
的特定字段,而不是Driver_Specifications
的外键。 LINQ对此问题的查询是什么?
这是我到目前为止所做的:
var q = (from d in taxi_AgencyDataSet.Driver_Specifications
orderby d.First_Name, d.ID_Driver
select new {
d.First_Name,
d.Last_Name,
d.Car_Name,
d.Car_Color,
d.WatchRow.Watch_Name,
d.ID_Watch
}).ToList();
我收到以下错误:
Object reference not set to an instance of an object
答案 0 :(得分:1)
访问null
时,您需要检查d.WatchRow
以避免抛出NullReferenceException
:
var q = (from d in taxi_AgencyDataSet.Driver_Specifications
orderby d.First_Name, d.ID_Driver
select new
{
d.First_Name,
d.Last_Name,
d.Car_Name,
d.Car_Color,
Watch_Name = d.WatchRow == null ? "None" : d.WatchRow.Watch_Name,
d.ID_Watch
}).ToList();