【发布时间】:2016-05-09 12:42:51
【问题描述】:
我是 MVC(和 asp.net)的新手。当我执行代码时出现此错误消息:
An exception of type 'System.Data.SqlClient.SqlException' occurred in
EntityFramework.SqlServer.dll but was not handled in user code
Additional information: Invalid object name 'delays_table'.
这是我的控制器:
namespace public_transportaion.Controllers
{
public class StatisticsController : Controller
{
private StatisticDBContext db = new StatisticDBContext();
// GET: Statistics
public ActionResult Index()
{
string query = "SELECT agency_name, COUNT(*) "
+ "FROM delays_table "
+ "WHERE late_type = 'miss' "
+ "GROUP BY agency_name";
IEnumerable<Statistic> data = db.Database.SqlQuery<Statistic>(query);
return View(data.ToList());
}
这是我的模特:
namespace public_transportaion.Models
{
public class Statistic
{
public int ID { get; set; }
public string agency_name { get; set; }
public int missCount { get; set; }
}
public class StatisticDBContext : DbContext
{
public DbSet<Statistic> Statistics { get; set; }
}
}
这里是数据库信息:
CREATE TABLE [dbo].[delays_table]
[ID] INT IDENTITY (1, 1) NOT NULL,
[tripID] BIGINT NOT NULL,
[planned_arrival_timeID] DATETIME NOT NULL,
[route_id] BIGINT NOT NULL,
[agency_name] NVARCHAR (MAX) NULL,
[startDate] DATETIME NOT NULL,
[endDate] DATETIME NOT NULL,
[late_type] NVARCHAR (MAX) NULL,
[duration] REAL NOT NULL,
CONSTRAINT [PK_dbo.delays_table] PRIMARY KEY CLUSTERED ([ID] ASC)
我也尝试在查询中使用“FROM dbo.delays_table”或“FROM delays_table (dbo)”,但没有帮助。
谢谢。
【问题讨论】:
-
您的连接字符串是否指向服务器上正确的数据库?
-
在 try catch 块中编写代码
-
您可能想检查您的连接字符串指向的位置
标签: c# asp.net-mvc