Linq Join 範例

LINQ的JOIN寫法, 之前常忘記就記錄一下

/// <summary>
/// get後台主視覺Banner列表
/// </summary>
/// <returns></returns>
public IQueryable<MainBannerModel> getMainBannerList()
{
    using (StarBackendEntities db = new StarBackendEntities())
    {
        var resultList = (from kd in db.KIND_DATA
                          join ps in db.PAGE_SECTION on kd.Page_ID equals ps.PageId
                          join td in db.TYPE_DATA on kd.TypeID equals td.TypeID
                          where ps.PageCode == 1 && !kd.Status.Equals(4) && td.Status == 1
                          select new MainBannerModel()
                          {
                              PageURL = ps.PageURL,
                              PageCode = ps.PageCode,
                              PageDescription = ps.PageDescription,
                              TypeID = td.TypeID,
                              TypeName = td.TypeName,
                              PhotoPath = kd.PhotoUrl,
                              PhotoName = kd.PhotoName,
                              ProductNumber = kd.WritingProductId,
                              WebUrl = kd.WebUrl,
                              DispalyWords = kd.DisplayWords,
                              BannerDescription = kd.BannerDescription,
                              CreateTime = kd.CreateTime,
                              Weight = (int)kd.Weight,
                              OnlineDate = kd.OnlineDate == null ? DateTime.Now : (DateTime)kd.OnlineDate,
                              OffLineDate = kd.OfflineDate == null ? DateTime.Now : (DateTime)kd.OfflineDate,
                              Kind_ID = (int)kd.Kind_ID,
                              Kind_Name = kd.Kind_NAME
                          }).ToList();
 
        return resultList.AsQueryable();
    }
}