C#MVC如何通过ID获取数据

问题描述

一个简单的问题。我试图更改我的方法,而不是获取所有值,而是想通过id返回值。

我当前的方法数据库返回所有会议:

public ActionResult GetData()
{
    using (MyEntities db = new MyEntities())
    {
        var meetingId = data.meetingId;

        List<MeetingObject> meeting = db.MeetingAObject.ToList<MeetingObject>();

        return Json(new { data = meeting },JsonRequestBehavior.AllowGet);
    }
}

我想更改它,以便它接收一个参数(meetingId)并仅返回与该Meetingid有关的数据,我尝试了此操作但没有走远

public ActionResult GetDataById(Parameters data)
{
    using (MyEntities db = new MyEntities())
    {
        var meetingId = data.meetingId;

        List<MeetingObject> meeting = db.MeetingAObject.ToList<MeetingObject>();  << I am not sure how to change the code beginning here

        return Json(new { data = meeting },JsonRequestBehavior.AllowGet);
    }
}

更新

我认为我以这种方式使其工作:

    public ActionResult GetMeetingById(Parameters data)
    {
        using (MyEntities db = new MyEntities())
        {
            var meetingId = data.meetingId;

            List<MeetingObject> meeting = db.MeetingObject.Where(x => x.MeetingID == meetingId).ToList();

            return Json(new { data = meeting },JsonRequestBehavior.AllowGet);
        }
    }

解决方法

这是第一次尝试,如果您在此处澄清问题或评论,我将很乐意将此答案更新为更具体或更正确。

让我们假设您收到的会议ID是整数。 (顺便说一句为什么是参数?)
然后将其用作查询的条件。
MeetingID和MeetingId必须为同一类型,否则您需要强制转换。

public ActionResult GetDataById(int meetingId)
{
    using (MyEntities db = new MyEntities())
    {

        List<MeetingObject> meeting = db.MeetingAObject.Where(m=>m.MeetingID == meetingId).ToList<MeetingObject>();  

        return Json(new { data = meeting },JsonRequestBehavior.AllowGet);
    }
}