I can do this by looping the result of a simplified query:
var query = from myrecord in dt.AsEnumerable()
where myrecord.Field<string>("field1") == "value1" || myrecord.Field<string>("field1") == "value2"
select myrecord;
foreach(var myrecord in query)
{
//if value1, then "X"
//sum += field2
}
But, I want to know if it's possible within the LINQ statement.
Anonymous class with two members: Name and Value. Name is "X" or "Y" depending on field1 and Value is the sum of all field2 values for records where the conditions are met. I think I need to use the Count() method, but I'm not sure how or where. Maybe I need to use "group" and "into" to get the count from a temporary table?
If there are records with (field1 == "value1"), the string will be "X" else the string will be "Y".
var query = from table in dt.AsEnumerable()
where table.Field<string>("field1") == "value1" ||
table.Field<string>("field1") == "value2"
select new
{
Name = (condition ? "X" : "Y"),
Value = //sum all field2 values
};
Thanks in advance!