0

我有一个使用 nHibernate 和 SQL Server 标准版的 asp.NET MVC 3 应用程序。生产环境运行良好,并且是由其他人开发的。

我正在尝试在我的本地 PC 上设置一个测试环境,并将备份从 live Db 恢复到我的本地 SQL Express。更改了连接字符串,并让 sessionfactory 运行。(我仍在学习 asp.NET MVC 的不同方面,所以我并不完全确信我已经检查了所有需要检查的内容)。

不幸的是,现在加载 index.cshtml 时,它会失败并出现上述错误(SqlException (0x80131904): Invalid object name 'PlanningRow')。它在线上失败:

planningRows = Planner.GetCurrentSession().QueryOver<PlanningRow>().List();

我在 StackOverflow 和其他地方看到过类似的问题,我知道这个错误意味着它找不到表——但是 Db 和表在我本地的 SQL Express 上。但是很可能数据库或表不在正确的架构中,或者架构不存在。不幸的是,我不知道这实际上意味着什么,更不用说如何修复它了,我也找不到关于如何做到这一点的提示。

(fi SqlException (0x80131904): Invalid object name 'dbo.Categories'提供了一些有趣的选项——尤其是选项 2——但无法检查或修复此问题)。

谁能指出我正确的方向?

4

1 回答 1

1
  • 仔细检查连接字符串指向正确的数据库
  • 在 DEBUG 模式下使用“NHibernate.Sql”启用 SQL 日志记录
  • 检查 PlanningRow 映射中的映射模式和 hibernate.cfg 文件或配置代码中的默认模式
于 2013-08-31T22:00:14.217 回答