How to implement a left outer join in the Entity Framework.

Posted by user206736 on Stack Overflow See other posts from Stack Overflow or by user206736
Published on 2010-03-30T23:37:15Z Indexed on 2010/03/30 23:43 UTC
Read the original article Hit count: 375

I have the following SQL query:-

select distinct * from dbo.Profiles profiles 
left join ProfileSettings pSet on pSet.ProfileKey = profiles.ProfileKey 
left join PlatformIdentities pId on pId.ProfileKey = profiles.Profilekey

I need to convert it to a LinqToEntities expression. I have tried the following:-

from profiles in _dbContext.ProfileSet
                            let leftOuter = (from pSet in _dbContext.ProfileSettingSet
                                             select new
                                                        {
                                                            pSet.isInternal
                                                        }).FirstOrDefault()
 select new
                                       {
                                           profiles.ProfileKey,
                                           Internal = leftOuter.isInternal,
                                           profiles.FirstName,
                                           profiles.LastName,
                                           profiles.EmailAddress,
                                           profiles.DateCreated,
                                           profiles.LastLoggedIn,                                               
                                       };

The above query works fine because I haven't considered the third table "PlatformIdentities". Single left outer join works with what I have done above. How do I include PlatformIdentities (the 3rd table) ? I basically want to translate the SQL query I specified at the beginning of this post (which gives me exactly what I need) in to LinqToEntities.

Thanks

© Stack Overflow or respective owner

Related posts about LINQ

Related posts about entity-framework