求助大神c# linq分组联合查询问题

有两张表,一个type表所属上一级分类ID,一级分类默认0
其中TopTypeID是 一级分类ID TypeID是 二级分类ID

一个info表
图片说明
其中字段ParentID (所属上一级分类ID,一级分类默认0)
要求是(1)分页显示企业代表产品信息列表(产品名称、一级分类名称、二级分类名称、图片信息、操作员账号、备注信息、添加时间);
(2)查询条件:一级分类名称、二级分类名称、添加时间
(3)一级、二级分类联动

 public List<OurProductInfo> GetList(int oId,int tId ,DateTime startTime ,DateTime endTime)
        {
            using (UserModel um = new UserModel())
            {
                var temp = (from o in um.OurProductInfo_benow
                            join u in um.UserInfo_benow on o.OpID equals u.ID into temp1
                            from t1 in temp1.DefaultIfEmpty()
                            join t in um.OurProductType_benow  on o.TypeID equals t.ID into temp2
                            from t2 in temp2.DefaultIfEmpty()
                            join k in um.OurProductType_benow on o.TopTypeID equals k.ID
                            where o.TypeID==t2.ID && t2.ParentID == -1 ? true : t2.ParentID == oId && k.ParentID == -1 ? true : k.ParentID == tId && ((o.ActTime >= startTime) && (o.ActTime <= endTime)) && o.InUse.Equals(0) 
                            select new OurProductInfo
                            {
                                UserName=t1.UserName,
                                ID=o.ID,
                                OurProductName = o.OurProductName,
                                ParentID=o.TopTypeID,
                                oTypeName = k.TypeName,
                                tTypeName=t2.TypeName,
                                PicUrl=o.PicUrl,
                                OpID=o.OpID,
                                Details=o.Details,
                                ActTime=DateTime.Now


                            }).ToList();
                return temp;
            }
        }

这个方法里面的当我传入一级参数和二级参数查询时,条件不起作用,是什么回事

ParentID == -1 ? true : t2.ParentID == oId && k.ParentID == -1 ? true : k.ParentID == tId
这个条件判断很奇怪,为什么用三目条件运算?它们的嵌套关系是否正确。