// 여기부터 LINQ 시작
var query = from test in ds.Tables[0].AsEnumerable()
group test by test.Field<string>("NAME") into grp
select new
{
Id = grp.Key,
Sum = grp.Sum(r => r.Field<int>("VALUE"))
};
// LINQ 종료 및 결과 DataTable 생성
DataTable dt_result = new DataTable();
dt_result.Columns.Add("ID");
dt_result.Columns.Add("VALUE");
// LINQ 결과를 DataTable에 저장
foreach(var result in query)
{
dt_result.Rows.Add(result.Id, result.Sum);
}
또는
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
var products = ds.Tables["Product"].AsEnumerable();
var query = from product in products
group product by product.Field<string>("Style") into g
select new
{
Style = g.Key,
AverageListPrice =
g.Average(product => product.Field<Decimal>("ListPrice"))
};
foreach (var product in query)
{
Console.WriteLine("Product style: {0} Average list price: {1}",
product.Style, product.AverageListPrice);
}
LINQPad 를 이용해 보세요 (0) | 2011.11.11 |
---|---|
LINQ 아키텍처 (0) | 2010.09.16 |
LINQ: .NET 통합 언어 쿼리 (0) | 2008.04.04 |