none
讀取200筆資料,效能提升的方法?(LINQ 2 EF) RRS feed

  • 問題

  • 各位好!(以下程式我是使用LINQ to ED,MVC 2 C#撰寫)

    我想請問,最近處理的一隻小程式中,我從post接收了value進來

    這個value有兩百個帳號,均用「逗號」隔開

    隔開之後,我便需要撈出這兩百筆帳號的其它資料,

    於是我程式寫的如下

    public ActionResult uinfo(string acc)
        {
          //因應return的資料以XML構成
          XElement root = new XElement("Members");
    
          //將傳進來的200筆帳號隔開存入陣列
          string[] acclist = acc.Split(',');
    
          //UnifoMember為自訂的modelclass,有account與nickname欄位
          List<UinfoMember> member = new List<UinfoMember>();
    
          //將200筆帳號依迴圈做執行
          foreach (var i in acclist)
          {
            //一個一個撈出帳號與暱稱
            var User = (from c in _db.members
                  where c.member_account == i
                  select c.member_nickname).FirstOrDefault();
    
            //將撈出的部份寫入account與nickname
            member.Add(new UinfoMember()
            {
              account = i,
              nickname = User
            });
    
          }
    
          //回傳XML
          return new XmlResult(member);
    
        }
    

    不過,很明顥地

    在撈大量資料時,效能變得相當慢

    因此請教各位,有更好的寫法嗎?

    感謝~!

    2010年11月11日 上午 02:32

解答

所有回覆