Reputation: 22964
I have a DataContext
(db) that can access the tables in my SQL Express database, from which I would like to extract only three of the multiple fields in the tblItem table:
// this does not work - what is the correct way to do it?
var items = db.tblItems.Select(i => i.id && i.name && i.totalAmount);
The intention is to spit these out into a csv file (comma separated). Is a var
the best way to do this?
Upvotes: 4
Views: 31036
Reputation: 52788
Yes, either use an anonymous type like so
var items =
db.tblItems.Select(i =>
new
{
i.id,
i.name,
i.totalAmount,
});
Or if you have a class use it instead.
var items =
db.tblItems.Select(i =>
new ItemsClass() //Or whatever
{
Id = i.id,
Name = i.name,
TotalAmount = i.totalAmount,
});
Upvotes: 3
Reputation: 61437
You will have to use an anomynous object for this:
var items = db.tblItems.Select(i =>
new {
ID = i.id,
Name = i.name,
TotalAmount = i.totalAmount
});
You can iterate over items
like over any other collection:
foreach(var item in items)
{
//do stuff
}
Upvotes: 11
Reputation: 1500485
If by "a var" you mean an anonymous type, then probably:
var items = db.tblItems.Select(i => new { i.id, i.name, i.totalAmount });
Upvotes: 5