c# - 当前上下文中不存在名称 'Database'?

标签 c# sql sql-server razor webmatrix

当我尝试使用 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/

相关文章:

c# - 找不到“Newtonsoft”

c# - 在仅由构造函数调用的私有(private)方法中分配只读变量的值

sql - 具有某些条件的连续数

sql - 在 Count 聚合函数上使用 Min 聚合函数

c# - 如何加载列表框中的所有项目而不仅仅是视觉项目

java - 未在 java 中检索到来自 sql 表的第一个条目

sql - 如何使用 SQL 创建数据累积报告?

sql-server - SQL : add new rows for each distinct value

SQL Group By 对创建的列进行分组?

c# - Windows 服务上的 Unity DI,可能吗?