Deepak Kanswal Sharma Ответов: 1

Как я могу использовать условие where в dbcontext. set<tentity>()


Я хочу использовать Edit в MVC для множественного выбора . Поэтому я сделал Jsonresult для получения данных для этого идентификатора :-

Что я уже пробовал:

<pre>public JsonResult FetchDataForEdit()
        {
            int IDtoEdit = Convert.ToInt32(TempData["IDtoEdit"]);
            string MyTableName = Convert.ToString(TempData["MyTableName"]);
            
            try
            {
                Type tableType = typeof(CourseDesc);
                switch (MyTableName)
                {
                    case "CourseTbl":
                        tableType = typeof(CourseTbl);
                        break;
                    case "CourseDescTbl":
                        tableType = typeof(CourseDesc);
                        break;
                    case "CourseSubDesc":
                        tableType = typeof(CourseSubDesc);
                        break;
                    case "InternTbl":
                        tableType = typeof(InternShip);
                        break;
                    case "ContactTbl":
                        tableType = typeof(Contact);
                        break;
                }

                using (EBContext db = new EBContext())
                {
                    var results = new List<object>();
                    foreach (var item in db.Set(tableType))
                    {
                        //Want to Add result for selected IDtoEdit here
                        results.Add(item);
                    }

                    return new JsonResult { Data = results, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
                }

            }

            catch (Exception ex)
            {
                string innerMessage = (ex.InnerException != null) ? ex.InnerException.Message : "";
                return new JsonResult { Data = "Not Found", JsonRequestBehavior = JsonRequestBehavior.AllowGet };
            }

        }

1 Ответов

Рейтинг:
0

Richard Deeming

Предполагая, что IDtoEdit является первичным ключом сущности, и вы хотите вернуть только соответствующий элемент, используйте Find:

using (var db = new EBContext())
{
    var results = new List<object>();
    var item = db.Set(tableType).Find(IDtoEdit);
    if (item != null) results.Add(item);
    
    return Json(results, JsonRequestBehavior.AllowGet);
}

В dbset.Метод Найти (Объект[]) (Система.Данных.Лицо)[^]