猿问

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

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


我添加了 EntityFramework 6.2


我已经使用Code First From Existing Database映射了数据库


一切都很顺利,我的所有课程的上下文如下:


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 不存在于任何地方,被完全忽略:


例子:


键入我的项目。Intellisense 不建议使用 DataModel


输入MyProject.DataModel它会在 DataModel 上给出错误,说明该数据模型不存在。


为什么??


守着一只汪
浏览 78回答 1
1回答

猛跑小猪

您的解决方案中是否不止一个项目?如果是这样,您应该在要使用 DbContext 的项目和包含它的项目之间添加引用。来自官方文档:要添加引用,请右键单击“解决方案资源管理器”中的“引用”或“依赖项”节点,然后选择“添加引用 源”另外,请确保正在编译包含 DbContext 的项目。
随时随地看视频慕课网APP
我要回答