当我尝试使用 WebMatrix 启动我的网站时遇到此错误。我有一个调用 var db = Database.Open("dbase");
的 .cs 文件。
我的项目中有一个名为“dbase”的数据库。我没有 web.config 文件,也没有用于使用 WebMatrix 包的导入,因为我使用 WebMatrix 启动该站点,所以我认为我不需要它们。我是否需要将代码包装在 Razor 标记中,例如 @{var db = Database.Open("dbase"); }
?这也会给我造成错误。
这可能是什么原因造成的?有人对此有任何解决方案吗?
最佳答案
我在 ASP.NET 上浏览 w3schools 时遇到了这个问题。
基本上,上面的答案是正确的:你需要程序集(DLL)WebMatrix.Data,但是评论者没有告诉你如何解决这个问题。方法如下:
首先,将文件 WebMatrix.Data.dll 复制到您站点的/bin 文件夹中。
如果您不确定从哪里获取它,您可以让 WebMatrix 使用支持数据库的模板创建一个新项目——比如 Bakery——然后从该项目的 bin 文件夹中获取它。或者您可以在硬盘驱动器中搜索该文件。我在 C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies
中有一个副本。
然后,在您的 ASP.NET 页面中,导入程序集。
对于您将不得不长期维护的网站来说,这不是一个好主意,但出于本演示的目的,您只需添加 @using WebMatrix.Data;
到您的产品页面的顶部。它最终应该看起来像这样:
@using WebMatrix.Data;
@{
var db = Database.Open("SmallBakery");
var selectQueryString = "SELECT * FROM Product ORDER BY Name";
}
现在它应该可以识别符号“Database”,一切都会好起来的。
关于c# - 当前上下文中不存在名称 'Database'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547158/