ol muser
asked on
Best way to select specific columns in a LINQ query
Being new to LINQ - In the code below how to select specific columns?
DataTable ResultView = LookUp(); //datatable has 3 columns
var query = (from lookup in ResultView.AsEnumerable()
where lookup[2].ToString() == "cond" //this works
select lookup[0], lookup[1] //??? Need only the first two columns
);
ASKER
Oh I forgot to mention, so here are the additional details and I am adding extra points.
I need to get the first two columns and as many rows as there are to a datatable. Is there a way to do that without using foreach in one single step...
I need to get the first two columns and as many rows as there are to a datatable. Is there a way to do that without using foreach in one single step...
Is there a way to do that without using foreach in one single step...What is it you want to do with the data? Remember, declaring the query itself (lines 1 to 7 in my last post) don't actually execute the query; the query is executed, in my example, in the foreach line. You can return a list of these columns if you like (negating the use of a foreach):
var items = query.ToList();
ASKER
I would like to store the resulting dataset in another datatable array
I would like to be able to return viewschemas[index] which is a Datatable.
I think I could do this now by(contd from above in pseudo code) :
Datatable x = new Datatable();
foreach(var item in query)
{
x.addrow(query.datarow);
}
viewSchema[indx] = x;
return viewSchema[index];
It may look twisted but I am trying to use existing code as part of maintenance.
I would like to be able to return viewschemas[index] which is a Datatable.
I think I could do this now by(contd from above in pseudo code) :
Datatable x = new Datatable();
foreach(var item in query)
{
x.addrow(query.datarow);
}
viewSchema[indx] = x;
return viewSchema[index];
It may look twisted but I am trying to use existing code as part of maintenance.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
P.S.
The following using statements are required for the code at that link:
The following using statements are required for the code at that link:
using System;
using System.Data;
using System.Collections.Generic;
using System.Reflection;
ASKER
@Kaufmed, did you try to compile the code?
Or is it meant to be pseudocode?
Or is it meant to be pseudocode?
did you try to compile the code?Did you add the code that I referred to in the link? The code I posted is not the entire solution--you need the code from the link as well. Just #1 and #2, though.
Open in new window