iT邦幫忙

0

ASP.NET 如何使用 LINQ 讓資料表裡面同一個帳號的數量顯示出來

  • 分享至 

  • xImage

ASP.NET 如何使用 LINQ 讓資料表裡面同一個帳號的數量顯示出來

第一張圖是用SQL語法出來的結果
第二張圖是資料表

要如何用LINQ做到像第一張圖一樣 可以顯示在網頁上"目前這個帳號有預約過幾次的記錄"
https://ithelp.ithome.com.tw/upload/images/20210927/20140491NsPCmqTD2A.png

https://ithelp.ithome.com.tw/upload/images/20210927/20140491E0KkSbcirV.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
asd3733653
iT邦新手 2 級 ‧ 2021-09-27 15:02:40
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() };
1
jack8900
iT邦新手 1 級 ‧ 2021-09-28 13:43:40
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基本都有支援

0
ekkusu
iT邦新手 4 級 ‧ 2021-11-25 17:07:27

改成用lambda的寫法就會是這樣

Table.GroupBy(x => new {x.fUId })
                .Select(x => new {fUId  = x.Key.fUId , count = x.Count()}).Where(y=>y.count>0);

我要發表回答

立即登入回答