不能在网站项目中使用命名空间

Can't use namespaces in Website Project

重现步骤:

  1. 在 Visual Studio 中创建网站项目。
  2. 添加对 System.Data.Entity
  3. 的引用
  4. 添加一个"Web Page Razor v3",内容如下:

@using System.Data.Entity;
@{
var db = Database.Open("WebPagesMovies");
//var selectCommand = "SELECT * FROM Movies";
//var searchTerm = "";
}
<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>

  </body>
</html>

我的问题是,class 数据库无法识别。 class 位于系统数据实体命名空间中。如果我在 ASP .NET Web 应用程序项目中执行相同的步骤,则可以识别引用。 因为一个网站项目没有csproj文件,所以引用放在web.config文件中。我看到以下条目:

  <assemblies>
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

有人知道我在这里缺少什么吗?为什么我不能引用那个命名空间?

System.Data.Entity.Database 仅适用于 Entity Framework 5.0 及更高版本:https://msdn.microsoft.com/en-us/library/system.data.entity.database%28v=vs.113%29.aspx

您需要确保引用的版本正确。您还需要确保您的项目针对的是正确版本的 .Net Framework。我相信,您将需要 Entity Framework 5+ 的 .Net Framework 4.5 才能正常工作。

您可以在此处下载 Entity Framework:https://msdn.microsoft.com/en-us/data/ee712906.aspx