0

Je dois avoir changé quelque chose quelque part, mais damné si je peux comprendre ce que c'est.Entité de données Chaîne de connexion Problème

J'ai un DAL qui gère tous mes accès aux données (comme le fait un DAL) à ma base de données SQL Server. Cela inclut le modèle d'entité, les classes de référentiel et la chaîne de connexion dans le fichier App.Config.

Quelque part le long de la pièce, je dois avoir changé quelque chose et je reçois maintenant l'exception suivante à chaque fois que je tente d'afficher une page sur mon application MVC:

spécifié connexion nommée est soit introuvable dans la configuration n'est pas destinée à être utilisée avec le fournisseur EntityClient ou n'est pas valide.

Cette page hérite de <IEnumerable<DataAccess.Layer.Class>>. Qu'est-ce que je rate?

chaîne de connexion:

<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 Snippet:

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(); 
} 
+0

Utilisez-vous une classe Linq2SQL dbml? – griegs

+0

Non, j'utilise le modèle de données d'entité ADO.Net. –

Répondre

2

Si vous faites référence à votre entité ADO.NET projet dans un autre projet puis jeter un oeil à

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

+0

Cela est automatiquement inséré par le concepteur ORM dans Visual Studio. Ma compréhension est qu'il convertira ces codes HTML en leurs équivalents de chaîne lorsque le XML du fichier App.Config est analysé. Cependant, si quelqu'un d'autre peut confirmer que cela pourrait être un problème, j'aimerais savoir. –

+2

Si vous faites référence à votre projet d'entité ADO.NET dans un autre projet, jetez un oeil à http://blogs.msdn.com/bindeshv/archive/2009/09/04/referring-ado-net-entity- project-in-a-different-project.aspx –

+0

@Rasik. Bien joué, cet homme! Je savais que ce serait quelque chose de simple. Vous devriez entrer cela comme la réponse réelle afin que je puisse l'accepter comme la solution et l'augmenter. –

0

Au risque d'obtenir un vote down Je remarque, à chaque fois que j'utilise dbml classe un S2L que je courir dans le même problème quand je fais une modification au fichier dbml via l'interface et non dans le code.

il réinitialise ma chaîne de connexion et j'ai besoin de le modifier pour lire à partir de web.config.

Je ne sais pas si ceci est votre problème @Phil.

Sinon, pourriez-vous fournir plus d'informations?

+0

Eh bien, j'ai regardé cela et le fichier designer.cs fait toujours référence à la chaîne de connexion correcte et ne semble pas avoir d'autres détails de connexion mis en cache nulle part. Je vais ajouter la source dans mon OP. –

0

Le ne autre chose que je peux voir que peut la cause d'un Le problème est l'utilisation du chemin codé en dur. Avez-vous essayé d'insérer un \?

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

Je fais aussi confiance que vous avez vérifié et revérifié le chemin est correct? :)

Avez-vous essayé d'obtenir le chemin du serveur, puis d'y ajouter app_data \ jobtrack.mdf?

Avez-vous essayé de vous débarrasser complètement du chemin? Je demande parce que, et j'oublie dans quelles circonstances cela est correct, .Net inférera le dossier path et app_data lors de l'attachement à une base de données. encore une fois, vous devez faire des recherches. De même, l'exécution de l'utilitaire de configuration ASP.NET peut parfois résoudre le projet, interrompre le projet ou identifier l'origine du problème.

0

j'ai eu le même problème et après avoir essayé de le réparer plusieurs façons differant j'ai eu l'idée que VS a été mise sur écoute de telle sorte que je simplifié la solution avec de nouveaux projets (cadre d'entités et un projet de test), copié les fichier de configuration de la DLL dans le projet de test et j'ai reçu la même erreur. J'ai ensuite supprimé le fichier de configuration du projet de test, ajouté un nouveau fichier de configuration, copié le contenu de la chaîne de connexion dans le fichier de configuration et cela a fonctionné.