Bonjour à tous,
Est il possible de définir un DataContext qui se met à jour automatique lors qu'un des éléments qui le compose à été modifier directement dans la Base de Données (Ajout de champs / Ajout de contraintres, etc. ) ?
Merci d'avance.![]()
Bonjour à tous,
Est il possible de définir un DataContext qui se met à jour automatique lors qu'un des éléments qui le compose à été modifier directement dans la Base de Données (Ajout de champs / Ajout de contraintres, etc. ) ?
Merci d'avance.![]()
Je ne pense pas, il faut que tu le modifie et que tu compile ton application à chaque fois.
Erf, je m'en doutais un peu ...
C'est ce que je fais actuellement et j'imagine que par "modifier", tu parle de supprimer la table et de la rajouter à nouveau avec l'explorateur de serveur ?
Ça aurait été trop beau.![]()
Le mieux est de faire de cette façon, sinon tu peux modifier à la main le fichier .dbml si tu connais précisément les modification apportée à la base et que tu te sens de les appliquer sur le modèle![]()
Je me demande bien pourquoi personnne promeut SQLMetal, tu fais un .bat, tu cliques dessus et le tour est joué, pas de .dbml à gérer à la main, aucune erreur de codage, etc. Et pour le reste, tu fais les surchages nécessaires de tes classes et manière à intégrer tes propres méthodes que le .bat n'écrasera pas lors des générations suivantes.
nachtigal
C'est tout à fait possible aussi avec LinqToSql, les classes étant partielles, tu peux très bien leur ajouter ou redéfinir des méthodes dans un fichier à part, qui ne sera pas écrasé lors de la regénération.
Bonjour laedit,
Ce n'est que comme celà que je travaille moi, j'ai découvert cela un peu par hasard ;
Je créé un projet de Librairie qui sera ma DAL, puis dans APP_Code je mets un fichier .bat ayant ce contenu :
Le fichier .bat je le manage avec ConTEXT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqlmetal.exe /server:"MACHINE\SERVER" /database:MaDB /user:toto /password:passons /code:"MonProjetContext.cs" /sprocs /namespace:"MonProjet.Data.DLinq" /context:MonProjetDataContext
Un double-clic et j'ai un classe complète générée.
Puis j'ajoute des Classes partielles pour gérer tous mes accès particuliers, mes update, etc.
Je référence ensuite ce projet dans mon projet principal et le tour est joué. Aucune prise de tête avec les problèmes d'accès à la base de données.
Je ne gère jamais le dbml.
Si cette approche intéresse quelqu'un, je suis prêt à en faire un tuto avec code complet. Voilà.
nachtigal
J'attends le tutoriel avec impatiente car un exemple concret sera beaucoup plus simple pour comprendre le mécanisme.![]()
Ok, puisque vous insistez tous, je m'y mets. Mais je préviens je ne suis que débutant en LINQ.
nachtigal
L'important c'est de se lancer, le reste vient après![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager