Je luttais aujourd'hui avec les fichiers de conception linq2sql dbml. Quand je commence et place mes tables sur le concepteur tout est OK. Je modifie les espaces de noms et je désactive les propriétés de la chaîne de connexion pour le contexte de données. Ensuite, je veux créer des extensions partielles de mes entités linq. Donc, je tape F7 sur le concepteur de fichiers. À ce stade, tout est cool aussi. Ensuite, quand je change quelque chose avec le schéma de la DB, je reviens et j'ajoute une autre table ou je supprime et rajoute une ancienne, le MyContext.dbml perd le fichier MyContext.design en dessous. Les 2 autres (le .cs et le .layout sont toujours là). Naturellement, cela casse tout ce dont j'ai besoin pour repartir de zéro. Très ennuyant. Des idées?Bug avec le fichier du designer dmbl sous VS2008?
2
A
Répondre
1
Ah! Oui! Vous utilisez VS2008, n'est-ce pas?
Ceci est un bug connu, et il importe réellement où vos using
directives sont votre moitié de la classe partial
...
using Foo;
namespace Bar {
// ...
}
est mauvais, et Trashes le fichier design ...
namespace Bar {
using Foo;
// ...
}
est bien!
Cette ne applique lorsque vous avez SomeName.dbml
et SomeName.cs
, donc une autre solution est de renommer le fichier. Ceci est corrigé dans VS2010. Fou, hein?
0
Vous devez conserver vos classes dans des fichiers/fichiers distincts. Le compilateur C# ne se soucie pas de l'emplacement des pièces, il s'agit donc d'une solution de contournement simple. En outre, si vous avez écrit vos classes dans le fichier généré (ce n'est pas très clair dans votre message), alors ce n'est pas un bug, mais un comportement souhaité.
Avez-vous modifié le fichier .designer? C'est un gros non-non; C'est votre fichier à éditer (il devrait y avoir un gros avertissement en haut). –
@Marc, non, ne modifiez jamais les fichiers de contexte de données générés. Je crée des classes partielles autonomes pour gérer des choses étendues. – dexter
maintenant je me souviens! Désolé, j'étais moins alerte le 15. –