ASP.NET 如何使用 LINQ 讓資料表裡面同一個帳號的數量顯示出來
第一張圖是用SQL語法出來的結果
第二張圖是資料表
要如何用LINQ做到像第一張圖一樣 可以顯示在網頁上"目前這個帳號有預約過幾次的記錄"
var result = from c in 你的TABLE
group c by c.fUId into g
where g.Count() > 0
select new { fUId = g.Key, Count = g.Count() };
StringBuilder sel = new StringBuilder();
sel.Append("select fUid ");
sel.Append(",COUNT(*) cc ");
sel.Append("from tOrder ");
sel.Append("group by fUid ");
//一般的連線取資料的方式,就不說明了
DataTable dt = GetDt(sel);
List<tClass> tc = (from x in dt.AsEnumerable()
select new tClass
{
fUid = x.Field<string>("fUid"),
cc = x.Field<string>("cc")
}).ToList();
public class tClass
{
public string fUid { get; set; }
public string cc { get; set; }
}
不管是需要排序還是要做什麼,LIST基本都有支援
改成用lambda的寫法就會是這樣
Table.GroupBy(x => new {x.fUId })
.Select(x => new {fUId = x.Key.fUId , count = x.Count()}).Where(y=>y.count>0);