C# 如何将第三个表引入JsonResult,以及如何在我的控制器详细信息中写入它?

C# 如何将第三个表引入JsonResult,以及如何在我的控制器详细信息中写入它?,c#,.net,json,asp.net-mvc-5,jsonresult,C#,.net,Json,Asp.net Mvc 5,Jsonresult,我的第二个错误加入我,我不知道我还能写它 [HttpGet] public JsonResult GetBadgessStudentList int CohortProgramEnrollmentID { db.Configuration.ProxyCreationEnabled=false var badgesList = from bad in db.BadgeAssignments join coh in db.CohortProgramEnroll

我的第二个错误加入我,我不知道我还能写它

[HttpGet] public JsonResult GetBadgessStudentList int CohortProgramEnrollmentID { db.Configuration.ProxyCreationEnabled=false

    var badgesList =
        from bad in db.BadgeAssignments
        join coh in db.CohortProgramEnrollment on bad.CohortProgramEnrollmentID equals coh.CohortSubscriptionId
        join des in db.Badges on bad.BadgeID equals des.Description
        where bad.BadgeID == CohortProgramEnrollmentID
        select new { Badges = des };

    return Json(badgesList.ToList().Select(x => new { 
         x.Badges.CohortProgramEnrollmentID, x.Badges.Description }),
                JsonRequestBehavior.AllowGet);
}
// GET: CohortSubscriptions/Details/5 
[Authorize(Roles = "Administrator, Coach")] 
public ActionResult Details(int? id)
{ 
if (id == null) { 
return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } CohortSubscriptions cohortSubscriptions = db.CohortSubscriptions.Find(id); 
if (cohortSubscriptions == null)
{
 return HttpNotFound(); 
}
 return View(cohortSubscriptions); 
}
我想在表中获取通过CohortSubscriptionId连接到特定学生的徽章。 要到达那里,我需要3张桌子: 在桌上的徽章中,我有我的徽章ID,上面有他的描述, 在BadgeAssignments表中,我有与 CohortProgramEnrollmentID和
在CohortProgramEnrollments表中,我有一个最终与Student连接的ID:CohortSubscriptionId

我认为连接顺序是正确的,但等式子句有些混乱,我认为这一行比较了两个不同的键:

bad.BadgeID equals des.Description 
所以我猜正确的连接应该是这样的,因为你比较键和ID

 var badgesList =
            from bad in db.BadgeAssignments
            join coh in db.CohortProgramEnrollment on bad.CohortProgramEnrollmentID equals coh.ID
            join des in db.Badges on bad.BadgeID equals des.ID
            where bad.BadgeID == CohortProgramEnrollmentID
            select new { Badges = des };

        return Json(badgesList.ToList().Select(x => new { 
             x.Badges.CohortProgramEnrollmentID, x.Badges.Description }),
                    JsonRequestBehavior.AllowGet);
    }

你这里有什么问题?我的第二个join-me-out-error,我不知道如何写它join子句的类型不正确。调用'join'时类型interference失败是语法错误还是编译错误?Synthax现在是的,谢谢我的第二个join现在是正确的,它给了我另一个错误,我刚刚修复了,剩下来看看它是否是compilesnow我如何在脚本中编写此内容,以便与学生连接的Bage列表完整显示,这是我第一次这样做,而不是在下拉列表中抱歉,在我的控制器中而不是//获取:CohortSubscriptions/Details/5[AuthorizeRoles=Administrator,Coach]public ActionResult Detailsint?id{if id==null{返回新的HttpStatusCodeResultHttpStatusCode.BadRequest;}CohortSubscriptions CohortSubscriptions=db.CohortSubscriptions.Findid;if CohortSubscriptions==null{返回HttpNotFound;}return viewchoortsubscriptions;}您可以选中此项,它将帮助您将数据从控制器绑定到dropDownList