Tuesday, June 3, 2014

How To Get Multiple Result Sets in LINQ Query ( with entity framework)

There are two methods i have found, by which we can bind the data with Eval in gridview.

   List articleList = new List();
    
   List articleList1 = new List();
#region Method I
        var promotionProductObject = (from p in _dataEntities.Promotions
                           join pa in _dataEntities.PromotionArticles
                           on p.PromotionId equals pa.PromotionId
                           where (pa.DeletedBy == null) && (pa.DeletedOn == null) && (p.PromotionId==14)
                                      select new
                                      {
                                          p,
                                          productlist = (from a in _dataEntities.Artikels
                                                         where pa.ArticleId == a.ID
                                                         select a)
                                      }).ToList();

        if (promotionProductObject != null)
        {
            for (int i = 0; i < promotionProductObject.Count(); i++)
            {
                Artikel article = promotionProductObject[i].productlist.ToList()[0];
                articleList.Add(article);
            }

            grdArticleDetails.DataSource = articleList;
            grdArticleDetails.DataBind();
        }

        #endregion Method I

        #region Method II
        var promotionArtilceObject = (from p in _dataEntities.Promotions
                                      join pa in _dataEntities.PromotionArticles
                                      on p.PromotionId equals pa.PromotionId
                                      join a in _dataEntities.Artikels
                                      on pa.ArticleId equals a.ID
                                      where (pa.DeletedBy == null) 
                                      && (pa.DeletedOn == null) && (p.PromotionId == 14)
                                      select new
                                      {
                                          p,//Promotion
                                          productList = a // Article
                                      }).ToList();

        if (promotionArtilceObject != null)
        {
            for (int i = 0; i < promotionArtilceObject.Count(); i++)
            {
                articleList1.Add(promotionArtilceObject[i].productList);
            }
            grdArticleDetails1.DataSource = articleList1;
            grdArticleDetails1.DataBind();
        }
        #endregion Method II

    }

No comments:

Post a Comment