水晶报告与LINQ

水晶报告与LINQ,linq,crystal-reports,Linq,Crystal Reports,我正在使用Crystal Report创建报告。我有两张桌子,司机室规格表和值班表 WatchRow的主键是Driver_规格的外键。我在报告文件中设置了一些字段来显示Driver\u规范的数据,我希望显示WatchRow的特定字段,而不是Driver\u规范的外键。LINQ对此问题的查询是什么 这就是我到目前为止所做的: var q = (from d in taxi_AgencyDataSet.Driver_Specifications orderby d.First_Name, d

我正在使用Crystal Report创建报告。我有两张桌子,司机室规格表和值班表

WatchRow的主键是Driver_规格的外键。我在报告文件中设置了一些字段来显示Driver\u规范的数据,我希望显示WatchRow的特定字段,而不是Driver\u规范的外键。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 访问d.WatchRow时需要检查null以避免引发NullReferenceException:

访问d.WatchRow时需要检查null以避免引发NullReferenceException:


为什么不张贴表、字段和键的名称呢。如果没有它们,编写linq查询将很困难。我已经根据从注释到答案的信息修复了这个问题。为什么不发布表、字段和键的名称呢。如果没有它们,编写linq查询是很困难的。我已经根据从注释到答案的信息修复了这个问题。是的,我写的与此完全一样,但我在报告文件中为table1设置了一些字段,并从table2为specefic字段集设置了一个字段,比如您的示例Baz字段,但出现了一个错误。我不知道该怎么办@用户356760:错误是什么?如果您可以在问题中包含您的代码以及错误消息,则会更容易帮助您。这是一个出现的错误:对象引用未设置为对象的实例。这是代码:var q=from d in taxis\u AgencyDataSet.Driver\u Specifications orderby d.First\u Name,d.ID\u Driver select new{d.名字,d.姓氏,d.车名,d.车色,d.表行.表名,d.ID.表}.ToList;驾驶员规格如表1所示table2@danialtehrani:我的意思是刷新页面,以便您可以看到我已更改了答案。我还将您的评论中的额外信息添加到了问题中。您应该在以后的第一时间将这些信息添加到问题中。是的,我使用了您的代码,但它没有让我编译它,我有一个错误:错误1无效的匿名类型成员声明符。匿名类型成员必须使用成员分配、简单名称或成员访问来声明。F:\Ali\C\Taxi Servis\Taxi Servis\ReportFrm.cs 209 14 Taxi Servis\ReportFrm.cs209 14 Taxi servisy是的,我写得完全一样,但我在报告文件a中为表1设置了一些字段nd从表2中为specefic字段集设置一个字段,例如您的示例Baz字段,但这是一个错误。我不知道该怎么办!!@user356760:错误是什么?如果您可以在问题中包含代码和错误消息,那么将更容易帮助您。这是一个出现的错误:对象引用未设置为objec的实例t、 这是代码:var q=from d in taxis\u AgencyDataSet.Driver\u Specifications orderby d.First\u Name,d.ID\u Driver select new{d.名字,d.姓氏,d.车名,d.车色,d.表行.表名,d.ID.表}.ToList;驾驶员规格如表1所示table2@danialtehrani:我的意思是刷新页面,以便您可以看到我已更改了答案。我还将您的评论中的额外信息添加到了问题中。您应该在以后的第一时间将这些信息添加到问题中。是的,我使用了您的代码,但它没有让我编译它,我有一个错误:错误1无效的匿名类型成员声明符。匿名类型成员必须使用成员分配、简单名称或成员访问来声明。F:\Ali\C\Taxi Servis\Taxi Servis\ReportFrm.cs 209 14 Taxi Servis
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();