【问题标题】:Loop through list of ints from database循环访问数据库中的整数列表
【发布时间】:2014-05-22 08:20:21
【问题描述】:

我有这个代码:

public ActionResult DeleteBehandling(int id)
{
    AppointmentDiary _ad = new AppointmentDiary();
    var beh = _db.Behandlingar.Single(k => k.BehandlingarId == id);

    foreach (var item in _ad.BehandlingarId)
    {
        if (_ad.BehandlingarId == id)
        {
            return View();
        }
    }
    _db.Behandlingar.Remove(beh);
    _db.SaveChanges();
    return RedirectToAction("BehandlingarNy");
}

_ad.BehandlingarId 是我的数据库中包含int 的列。现在,我想遍历此列以查看是否与输入匹配。我收到此错误:

foreach 语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”的公共定义。

我该如何克服这个问题?
谢谢!

【问题讨论】:

  • BehandlingarId 的确切数据类型是什么?
  • 错误消息说明了一切......您正在尝试对不是集合而是 int 的东西进行 foreach !
  • 好的!有没有办法让我将列中的整数转换为可以循环遍历的集合?
  • 我不明白...BehandlingarId 是一个整数,一个数字,一个且只有一个数字,在单个项目上循环没有意义...您应该循环记录(行) ,并在循环中处理此特定列。

标签: c# asp.net-mvc-4


【解决方案1】:

_ad.BehandlingarId 如你所说是一个 int 列。

所以你不应该迭代它。

你应该使用类似的东西

foreach (var item in _ad)
{
    if (item.BehandlingarId == id)
    {
        return View();
    }
}   

【讨论】:

    【解决方案2】:

    您正在尝试遍历不是集合的内容(BehandlingarId 是 int) - 猜测一下,我建议您需要将循环更改为:

    foreach (var item in _ad)
    {
        ....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      相关资源
      最近更新 更多