views:

29

answers:

1

I created a strongly-typed dataset in the dataset designer. The DataSet has a Table called FocusOffsetsTable and that table has four colums; SerialNumber, Filter, Wheel and Offset. I use the ReadXml() method of the DataSet class to load the strongly typed data from the xml file into the dataset. That seems to be working just fine.

I am trying to use a LINQ expression to try to get a Single row from this table but I can't seem to get the syntax correct. I want to use the Single() or SingleOrDefault() method to get just one row of data at a time but I am not sure how.

I have tried this FocusOffsets.FocusOffsetsTableRow x = FocusOffsetData.FocusOffsetsTable. but the Single() method is not available here. I also tried this...

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

but the Single method is not available here either.

I have done this before with tables in a SQL database before but this is my first time using a dataset from the dataset designer.

A: 

Have you added a using statement for System.Linq and included a reference to System.Data.DataSetExtensions. I think (but can't confirm since I'm on my Mac), that you ought to be able to do:

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