ASP.NET 无法识别 Web 应用程序命名空间

ASP.NET web application namespace not recognized

我已经创建了一个 ASP.NET Web 应用程序、Web 表单。

我加了EntityFramework6.2

我已经使用现有数据库中的代码优先

映射了数据库

一切顺利,我拥有所有 类,上下文如下:

namespace MyProject.DataModel
{
    using System;
    using System.Data.Entity;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Linq;

    public partial class MyDBEntities : DbContext
    {
        public MyDBEntities ()
            : base("name=MyDBEntities ")
        {
        }

        public virtual DbSet<Adm0> Adm0 { get; set; }
        public virtual DbSet<Adm1> Adm1 { get; set; }
        public virtual DbSet<Adm2> Adm2 { get; set; }
        public virtual DbSet<Country> Countries { get; set; }
        ...

连接字符串是:

  <connectionStrings>
    <add name="MyDBEntities" connectionString="data source=10.11.xx.xx;initial catalog=xxxxxx;persist security info=True;user id=xxxx;password=xxxxxx;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
  </connectionStrings>

整个项目没有错误,但是如果我尝试访问DbContext 就没有办法! 命名空间 DataModel 在任何地方都不存在,被完全忽略:

示例:

键入 MyProject。 Intellisense 不建议 DataModel

键入 MyProject.DataModel 它会在 DataModel 上给出错误,说它不存在。

为什么??

您的解决方案中是否不止一个项目? 如果是这样,您应该在要使用 DbContext 的项目和包含它的项目之间添加引用。

来自官方文档:

To add a reference, right click on the References or Dependencies node in Solution Explorer and choose Add Reference Source

此外,确保正在编译包含 DbContext 的项目。