数据实体连接字符串问题

时间:2009-11-11 00:39:18

标签: asp.net-mvc entity-framework exception connection-string

我必须在某个地方改变某些东西,但是如果我能弄明白它是什么就该死。

我有一个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 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

冒着获得投票的风险,我注意到,每当我使用S2L dbml类时,当我通过界面而不是代码更改dbml文件时,我遇到了同样的问题。

它会重置我的连接字符串,我需要将其更改为从web.config中读取。

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

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

答案 2 :(得分:0)

唯一其他我可以看到可能导致问题的是使用硬编码路径。您是否尝试插入\?

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

另外我相信你已经检查并仔细检查了路径是否正确? :)

         

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

         

你有没有试过摆脱entirley的路径?我问因为,我忘了在什么情况下这是正确的。.Net会在附加到数据库时推断路径和app_data文件夹。再次,你需要研究这个。

         

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

  

答案 3 :(得分:0)

我遇到了同样的问题,在尝试修复它之后,我有很多不同的方法,我认为VS正在淘汰,所以我用新项目(实体框架和测试项目)简化了解决方案,从dll复制了配置文件进入测试项目,我收到了同样的错误。然后我从测试项目中删除了配置文件,添加了一个新的配置文件,将连接字符串内容复制到配置文件中并且工作正常。