2010-07-21 126 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);