Une classe LinqToSQL Context est annotée avec DatabaseAttribute par défaut. C'est facultatif cependant. Dans n'importe quel scénario je peux penser que vous utiliseriez la chaîne de connexion pour pointer sur une base de données, alors quelle est la raison pour cela. Maintenant, j'ai évidemment lu des documents. Dans quel état, vous l'utilisez pour spécifier une base de données par défaut si vous souhaitez l'omettre de la chaîne de connexion. Mais ... pourquoi oh pourquoi voudriez-vous faire cela? Aucune suggestion?Quel est le but de DatabaseAttribute dans LinqToSQL?
Répondre
Hmm .... bonne question. Je ne peux pas penser à un bon usage pour cela. Si vous vouliez couvrir plusieurs bases de données (différents contextes de données) à partir d'une seule connexion (ce qui n'est pas une bonne idée en premier lieu), cela resterait inutile, puisqu'il serait corrigé pour toutes les instances des données -le contexte.
Dans tous les cas sensibles auxquels je peux penser, la connexion définit la base de données, ou c'est un non-problème (fichiers db autonomes, etc.). Je me demande si ce n'était pas juste mis là parce qu'il (la connaissance du nom de la base de données) existait, et donc il serait possible (en théorie) de la même manière ...
Il est difficile de savoir quel est le design équipe a pensé à l'époque.
Je suppose qu'il est là pour permettre des configurations facultatives avec une chaîne de connexion générale par défaut dans une application avec plusieurs bases de données. Ce n'est pas supporté intégré donc j'en doute. Cela permettrait à quelque chose comme:
<add name="GeneralConnection" ... />
<add name="GeneralConnection.SomeDataContext" ... />
Tous les contextes de données seraient configurés pour pointer vers le GeneralConnection. Un code supplémentaire pour extraire l'instance de contexte de données vérifie si GeneralConnection.ThatDataContext est présent et utilise le constructeur avec la chaîne de connexion dans ce cas.
C'est juste une supposition. Je n'ai pas eu un besoin semblable, et je ne pense pas que je compterais sur quelque chose comme ça.
- 1. Quel est le but de precompiledApp.config?
- 2. Quel est le but de l'utilisation?
- 3. Quel est le but de $ _POST?
- 4. Quel est le but de Array.GetLowerBound (int)?
- 5. Quel est le but de l'indicateur AI_V4MAPPED dans getaddrinfo?
- 6. Quel est le but de ceci dans l'objectif-c
- 7. Quel est le but de hidebysig dans une méthode MSIL?
- 8. Quel est le but d'une DataRelation dans un DataSet?
- 9. Quel est le but des contrôles utilisateur dans Visual C#?
- 10. Quel est le but de ce modèle de code?
- 11. Quel est le but de kCAAnimationDiscrete et de kCAAnimationPaced?
- 12. Quel est le but de l'utilisation de try, catch blocks?
- 13. Oracle SQL: Quel est le but de cette instruction DECODE?
- 14. Quel est le but de typedefing une classe en C++?
- 15. Quel est le but de HTTP Watch Pro?
- 16. Alias d'espace de noms C# - quel est le but?
- 17. Quel est le but de l'événement onclick pour l'étiquette noscript?
- 18. Quel est le but des méthodes asynchrones? (.NET)
- 19. Quel est le but du répertoire Create utilisé par Tarantino?
- 20. Quel est le but d'un cache sur l'espace d'échange?
- 21. Quel est le but du paramètre "Retarded Image Loading" d'Opera?
- 22. Quel est le but pratique du remplacement bidirectionnel "bdo"?
- 23. Quel est le but de cette méthode dans le code source de Silverlight SDK?
- 24. & dans le paramètre de procédure - But de "&"?
- 25. Quel est le but de "skip link navigation" dans HTML généré à partir de yaml-builder?
- 26. Quel est le but des deux-points dans cette déclaration de tronçonnage de chaînes Python?
- 27. Quel est le but de singleton_class.send & singleton_class.class_eval dans cet exemple de métaprogrammation?
- 28. Quel est le but de la définition d'un paquet dans un fichier Java?
- 29. Quel est le but de l'outil Créer un GUID dans Visual Studio?
- 30. Quel est le but de l'instance temporaire Vector dans ce code?