2010-05-25 7 views
2

J'ai une chaîne de connexion définie dans mon web.config comme:pourquoi mon DataClassesDataContext n'a pas de constructeur par défaut?

<connectionStrings> 
<add name="LibraryConnectionString" connectionString="Server=.\SQLEXPRESS3;Database=Library;Integrated Security=true" /> 

Eh bien ... lI ne comprends pas pourquoi quand je fais glisser-déposer des tables dans une nouvelle DataClasses DBML il fait pas construire un constructeur par défaut en spécifiant la chaîne de connexion ....

Je n'ai constructeur avec params comme:

public DataClassesDataContext(string connection) : 
     base(connection, mappingSource) 
{ 
    OnCreated(); 
} 

J'ai besoin d'un constructeur par défaut pour LinqDataSource.

Quelqu'un peut-il suggérer une solution de rechange?

Merci

+0

Que diable demandez-vous? – SLaks

Répondre

0

Vous pouvez faire un constructeur par défaut dans un fichier séparé comme celui-ci:

partial class DataClassesDataContext 
    public DataClassesDataContext() 
     : this(ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString) { 
    } 
} 

Assurez-vous de ne pas appeler OnCreated deux fois.

+0

Oui mais le problème est que j'ai besoin d'y mettre ce constructeur chaque fois que je fais une modification sur la structure db (parce que le dataContext est recréé) .... –

+1

Mettez le constructeur dans une classe partielle dans un autre fichier. – SLaks

1
  • Étape 1: N'oubliez pas votre nom de fichier dbml et supprimez votre fichier dbml.
  • Étape 2: Ajoutez ensuite un nouveau fichier dbml portant le même nom au même emplacement (ajouter -> ajouter un nouvel élément -> LINQ to SQL Classes).
  • Étape 3: Double-cliquez sur le fichier dbml dans l'Explorateur de solutions.
  • Étape 4: Maintenant faites glisser et déposez toutes les tables à cette disposition de dbml.
  • Étape 5: Ajoutez enfin toutes les associations avec les tables comme précédemment.
  • NO ERRORS ,,, Pas besoin de créer un constructeur par défaut.Il crée automatiquement le constructeur sans arguments si vous faites comme je l'ai mentionné, et quand vous changez des données, il peut automatiquement changer comme vous avez besoin ... THANX .. VEUILLEZ VOTER MA RÉPONSE
Questions connexes