C# 错误 ;CS0103和x9;名称';db';在当前上下文中不存在

C# 错误 ;CS0103和x9;名称';db';在当前上下文中不存在,c#,sql-server,asp.net-mvc,C#,Sql Server,Asp.net Mvc,我假设我缺少在控制器顶部声明的名称空间,但我尝试了“使用WebMatrix.Data;”以及“使用System.IO;”他们是这个错误的常见建议。它不起作用 我试图在同一视图中显示多个数据库表,但此错误正在阻止我。请帮忙 我的控制器: using System.Linq; using System.Web.Mvc; using KMS.Models; using WebMatrix.Data; using System.IO; namespace KMS.Controllers {

我假设我缺少在控制器顶部声明的名称空间,但我尝试了“使用WebMatrix.Data;”以及“使用System.IO;”他们是这个错误的常见建议。它不起作用

我试图在同一视图中显示多个数据库表,但此错误正在阻止我。请帮忙

我的控制器:

using System.Linq; 
using System.Web.Mvc; 
using KMS.Models; 
using WebMatrix.Data; 
using System.IO;


namespace KMS.Controllers
 {

public class KMSController : Controller{
    public ActionResult Index()
    {
        KMSConection cs = new KMSConection();
        cs.Areas = (from o in db.Areas select o).Tolist();
        cs.AreaTypes = (from o in db.AreaTypes select or).Tolist();
        return View(cs);
    }
  }
}
我的ViewModel类:

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using KMS.Models;

 namespace KMS.Models
 {
  public class KMSConection: ApplicationDbContext
  {
    public DbSet<Area> Areas { get; set; }
    public DbSet<AreaType> AreaTypes { get; set; }
  }
}
使用系统;
使用System.Collections.Generic;
使用System.Data.Entity;
使用System.Linq;
使用System.Web;
使用KMS模型;
命名空间KMS.Models
{
公共类KMSConnection:ApplicationDbContext
{
公共数据库集区域{get;set;}
公共数据库集区域类型{get;set;}
}
}

谢谢

因为您没有提到在KMSController中创建的db变量。请尝试以下代码修复错误:

using System.Linq; 
using System.Web.Mvc; 
using KMS.Models; 
using WebMatrix.Data; 
using System.IO;


namespace KMS.Controllers
 {

public class KMSController : Controller{
    public ActionResult Index()
    {
        //Insert the actual entity referred to your db variable. 
        //Probably something like:
        //var db = Some Database Context

        KMSConection cs = new KMSConection();
        cs.Areas = (from o in db.Areas select o).Tolist();
        cs.AreaTypes = (from o in db.AreaTypes select or).Tolist();
        return View(cs);
    }
  }
}

db
听起来像是一个从未声明过的变量/字段,而不是一个使用语句丢失的
。我建议您逐行阅读您的代码您没有打开要读取的数据集/数据库,我假定
db
是从中读取的。你有一个连接-打开了什么?找到了!我遗漏了一行:private KMSSampleEntities1 db=new KMSSampleEntities1();在我的索引视图的顶部。谢谢