LINQ选择查询与Where条件返回单个记录

时间:2017-06-27 09:02:55

标签: asp.net-mvc linq

 public ActionResult CreateArea(int? cityid)
        {
            if (cityid == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var Name = db.Cities.Where(c => c.CityID == cityid)
                     .Select(x => x.CityName);
            ViewBag.message = Name;
            Area city = db.Areas.Find(cityid);
            return View(city);
        }

这个我的ActionMethod在这个我想通过viewbag传递查看的cityname但我的LINQ查询错误它不显示cityname而不是这个查询打印到我的view.plz帮我纠正我的LINQ查询。

4 个答案:

答案 0 :(得分:2)

您错过了“{1}},.ToList().First().FirstOrDefault()等”表达式“的”执行“.....

.Single()

答案 1 :(得分:0)

 var Name = db.Cities.Select(x => x.CityName).Where(c => c.CityID == cityid).FirstOrDefault()

            ViewBag.message = Name;
            Area city = db.Areas.Find(cityid);
            return View(city);

尝试这样的事情

答案 2 :(得分:0)

您需要从查询中返回单个结果,然后访问name属性:

  var Name = db.Cities.Single(c => c.CityID == cityid).CityName;

答案 3 :(得分:0)

这可能对您有帮助!

  var model =  model.Where(i => i.ParamKey == Key).First();