代码之家  ›  专栏  ›  技术社区  ›  Phil.Wheeler

数据实体连接字符串问题

  •  0
  • Phil.Wheeler  · 技术社区  · 16 年前

    我肯定在某个地方改变了什么,但如果我能弄清楚它是什么,那就太糟糕了。

    我有一个DAL来处理我对我的SQL Server数据库的所有数据访问(这是DAL的习惯)。这包括app.config文件中的实体模型、存储库类和连接字符串。

    在这篇文章的某个地方,每次我试图查看我的MVC应用程序上的一个页面时,我一定已经更改了一些内容,现在得到了以下异常:

    指定的命名连接是 在配置中找不到, 不用于 EntityClient提供程序,或无效。

    这是继承的任何页 <IEnumerable<DataAccess.Layer.Class>> . 我错过了什么?

    连接字符串:

    <add name="JobTrackEntities" 
         connectionString="metadata=res://*/JobTrackDataModel.csdl|res://*/JobTrackDataModel.ssdl|res://*/JobTrackDataModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQLEXPRESS;AttachDbFilename=&quot;C:\Users\Phil\Documents\Visual Studio 2010\Projects\JobTrack\trunk\JobTrack\App_Data\JobTrack.MDF&quot;;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient" />
    

    designer.cs代码段:

    public JobTrackEntities() : 
            base("name=JobTrackEntities", "JobTrackEntities")
    {
        this.OnContextCreated();
    }
    /// <summary>
    /// Initialize a new JobTrackEntities object.
    /// </summary>
    public JobTrackEntities(string connectionString) : 
            base(connectionString, "JobTrackEntities")
    {
        this.OnContextCreated();
    }
    /// <summary>
    /// Initialize a new JobTrackEntities object.
    /// </summary>
    public JobTrackEntities(global::System.Data.EntityClient.EntityConnection connection) : 
            base(connection, "JobTrackEntities")
    {
        this.OnContextCreated();
    }
    
    4 回复  |  直到 15 年前
        1
  •  2
  •   Rasik Jain    16 年前

    如果你是指 ADO.NET实体项目 在里面 另一个项目 那就看看

    http://blogs.msdn.com/bindeshv/archive/2009/09/04/referring-ado-net-entity-project-in-a-different-project.aspx

        2
  •  0
  •   griegs    16 年前

    我注意到,冒着被否决的风险,每当我使用一个s2l dbml类时,当我通过接口而不是通过代码更改dbml文件时,会遇到同样的问题。

    它重置了我的连接字符串,我需要把它改回从web.config读取。

    不知道这是不是你的问题@phil。

    如果没有,你能提供更多的信息吗?

        3
  •  0
  •   griegs    16 年前

    这个 只有 还有一件事我能看到 可以 原因问题在于硬编码路径的使用。是否尝试插入\?

    C:\\Users\\Phil\\Documents\\Visual Studio 2010\\Projects\\JobTrack\\trunk\\JobTrack\\App_Data\\JobTrack.MDF
    

    我也相信你已经检查过了,并且再次检查了路径是否正确?:)

    您是否尝试获取服务器路径,然后向其添加app_data\jobtrack.mdf?

    你有没有试着把这条路弄走?我问是因为,但我忘记了在什么情况下这是正确的,.NET将在附加到数据库时推断路径和app_data文件夹。同样,你需要研究这个。

    有时运行ASP.NET配置实用程序也可以修复项目、中断项目或确定问题所在。

        4
  •  0
  •   Jeff Circeo    15 年前

    我也遇到了同样的问题,在尝试了很多不同的方法来解决它之后,我就想到了vs正在发出bug,所以我用新的项目(实体框架和测试项目)简化了解决方案,将配置文件从dll复制到测试项目中,并收到了同样的错误。然后,我从测试项目中删除了配置文件,添加了一个新的配置文件,将连接字符串内容复制到配置文件中,它就工作了。