0

I have 4 different entities that I want to join all of them together(like Left join in Sql server), in one of my tables has no information and is empty and I want when the entity returned null then used the default value but returned the exception

This is my Code :

from ps in db.PermissionStructureRepo.Get()
    join a in db.ActionRepo.Get() on ps.ActionID equals a.ActionID into pa
    from r in pa.DefaultIfEmpty()
    join p in db.PermissionRepo.Get((x => x.UserID == userId), null, null, null) on ps.PermissionStructureID equals p.PermissionStructureID into rp
    from r2 in rp.DefaultIfEmpty()
    join ug in db.UserGroupRepo.Get() on r2.UserGroupID.GetValueOrDefault(0) equals ug.UserGroupID into rug
    from r3 in rug.DefaultIfEmpty()
    select new
    { 
        ps.PermissionStructureID,
        ParentStructureID = ps.ParentStructureID.GetValueOrDefault(0),
        Selected = (r2.PermissionID > 0 ? true : false),
        r.ActionID,
        ActionName = (ps.ActionDataFieldID.GetValueOrDefault(0) > 0 ? ps.ActionPersianColumnName : r.ActionName),
        r3.UserGroupID,
        r3.GroupName,
        ActionDataFieldID = ps.ActionDataFieldID.GetValueOrDefault(0),
        ps.ActionDataFieldName,
        r2.AllowCreatePermission,
        r2.AllowUpdatePermission,
        r2.AllowDeletePermission,
        r2.DenyCreatePermission,
        r2.DenyDeletePermission,
        r2.DenyUpdatePermission
    }

and this is the exception :

Object reference not set to an instance of an object. Message: at MIM.PubUsers.PubUsersBLL.<>c.b__6_10(<>f__AnonymousType32 <>h__TransparentIdentifier3) in E:\Projects\MIM.App\MIM\Common\MIM.PubUsers\MIM.PubUsers\PubUsersBLL.cs:line 188 at System.Linq.Enumerable.<GroupJoinIterator>d__414.MoveNext() at System.Linq.Enumerable.d__233.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at MIM.PubUsers.PubUsersBLL.FillPermissionTree(EnumFormState state, Int32 userId)

MindSwipe
  • 7,193
  • 24
  • 47

0 Answers0