2013-03-22 59 views
0

我有以下SQL查询SQL查询到左LINQ的加入到实体

Select LC.*,LP.[LandingPageName] from [LandingPageCompanies] LC 
Left join [LandingPageContent] LP on LP.SubCategoryID=LC.SubCategoryID 
where LC.[CategoryID]=17 

,我需要将其转换为LINQ to entity

我试过下面的查询,但它的工作作为Inner join

var data = (from t1 in dbSavingContainer.LandingPageCompanies 
         join t2 in dbSavingContainer.LandingPageContents on t1.SubCategoryID equals t2.SubCategoryID 
         where t1.CategoryID == CategoryID 
         select new 
         { 
          CategoryID = t1.CategoryID, 
          CompanyID = t1.CompanyID, 
          CompanyLink = t1.CompanyLink, 
          CompanyLogo = t1.CompanyLogo, 
          CompanyName = t1.CompanyName, 
          SubCategoryID = t1.SubCategoryID, 
          LandingPageName = t2.LandingPageName 
         }).ToList(); 

如果缺乏即时。 ?

回答

1

请各位看看这个link 它采用左外连接

+1

答案实际上应该是一个评论,更超过代替发布一个链接,你应该写查询,因为该链接可能会在未来被删除,并使这个答案obselete – praveen 2013-03-22 11:37:40

+1

我是新来这个网站,我认为低声誉我无法评论,这就是为什么我必须发布答案。顺便说一句,现在考虑评论,一旦得到privelege这样做。 – 2013-03-22 11:43:11

+1

而刚刚收到任何评论privelege :) – 2013-03-22 11:43:56

1

Thanks..i只是解决了它使用下面的查询;)

var data = (from t1 in dbSavingContainer.LandingPageCompanies 
      join t2 in dbSavingContainer.LandingPageContents on t1.SubCategoryID equals t2.SubCategoryID 
      into x from y in x.DefaultIfEmpty() 
        where t1.CategoryID == CategoryID 
        select new 
         { 
         CategoryID = t1.CategoryID, 
         CompanyID = t1.CompanyID, 
         CompanyLink = t1.CompanyLink, 
         CompanyLogo = t1.CompanyLogo, 
         CompanyName = t1.CompanyName, 
         SubCategoryID = t1.SubCategoryID, 
         LandingPageName = y.LandingPageName 
        }).ToList();