2010-07-21 74 views
0

我在数据集设计器中创建了一个强类型数据集。 DataSet有一个名为FocusOffsetsTable的表,该表有四个列;序列号,过滤器,车轮和偏移量。我使用DataSet类的ReadXml()方法将xml文件中的强类型数据加载到数据集中。这似乎工作得很好。LINQ to DataSet和xml帮助

我想使用LINQ表达式试图从这个表中获取单行,但我似乎无法得到正确的语法。我想使用Single()SingleOrDefault()方法一次只得到一行数据,但我不知道如何。

我试过这个FocusOffsets.FocusOffsetsTableRow x = FocusOffsetData.FocusOffsetsTable.,但Single()方法在这里不可用。我也试过这个...

FocusOffsets.FocusOffsetsTableRow x = (from offset in FocusOffsetData.FocusOffsetsTable 
        where offset.SerialNumber == mydevice.SerialNumber 
        where offset.Wheel == WheelID 
        where offset.Filter == FilterNum 
        select offset).Single(); 

但是Single方法在这里也不可用。

我以前在SQL数据库中使用过表,但这是我第一次使用数据集设计器中的数据集。

回答

0

您是否为System.Linq添加了using语句,并且包含对System.Data.DataSetExtensions的引用。我认为(但不能确认,因为我在我的Mac上),你应该能够做到这一点:

var x = FocusOffsetData.FocusOffsetsTable 
         .AsEnumerable() 
         .SingleOrDefault(o => o.SerialNumber == mydevice.SerialNumber 
               && o.Wheel = WheelID 
               && o.Filter = FilterNum);