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

时间:2019-08-21 21:44:16

标签: c# asp.net entity-framework ef-code-first

我已经创建了一个ASP.NET Web应用程序Web窗体。

我添加了EntityFramework 6.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错误,提示该错误不存在。

为什么?

1 个答案:

答案 0 :(得分:0)

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

摘自官方文档:

  

要添加引用,请在解决方案资源管理器中右键单击“引用或依赖项”节点,然后选择“添加引用”。   Source

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