如何将第三个 table 带到 JsonResult 以及如何将其写入我的控制器详细信息?
how to bring a 3rd table to a JsonResult and how to write it in my controller Details?
我的第二个加入我的错误,我不知道我还能怎么写
[HttpGet]
public JsonResult GetBadgesStudentList(int CohortProgramEnrollmentID)
{
db.Configuration.ProxyCreationEnabled = 假;
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);
}
我想获取 table 徽章中与特定学生相关的徽章(通过 CohortSubscriptionsId)。
要到达那里,我需要 3 tables:
在 table 徽章中,我有我的徽章 ID,它给出了他的描述,
在 BadgeAssigments table 我的 BadgeID 与
CohortProgramEnrollmentID 和
在 CohortProgramEnrollments table 中,我有最终与学生相关联的 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);
}
我的第二个加入我的错误,我不知道我还能怎么写
[HttpGet] public JsonResult GetBadgesStudentList(int CohortProgramEnrollmentID) { db.Configuration.ProxyCreationEnabled = 假;
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);
}
我想获取 table 徽章中与特定学生相关的徽章(通过 CohortSubscriptionsId)。 要到达那里,我需要 3 tables: 在 table 徽章中,我有我的徽章 ID,它给出了他的描述, 在 BadgeAssigments table 我的 BadgeID 与 CohortProgramEnrollmentID 和 在 CohortProgramEnrollments table 中,我有最终与学生相关联的 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);
}