Comment puis-je mettre à jour une Linq to SQL fichier dbml?
Comment puis-je mettre à jour une Linq to SQL .fichier dbml?
Vous devez vous connecter pour publier un commentaire.
Comment puis-je mettre à jour une Linq to SQL .fichier dbml?
Vous devez vous connecter pour publier un commentaire.
Il y a trois façons de garder le modèle de synchronisation.
Supprimer les tableaux modifiés par le concepteur, et de les faire glisser en arrière sur la surface du concepteur de la Base de données de l'Explorateur. J'ai trouvé que, pour que cela fonctionne correctement, vous devez:
un. Actualiser le schéma de base de données dans la Base de données de l'Explorateur (clic-droit, de rafraîchissement)
b. Enregistrer le concepteur après la suppression de l'tables
c. Enregistrer à nouveau après avoir fait glisser les tables de retour.
Note cependant que si vous avez modifié les propriétés (par exemple, la désactivation de l'enfant de la propriété d'une association), ce sera bien évidemment de perdre les modifications — vous aurez à faire de nouveau.
Utilisation SQLMetal pour régénérer le schéma de votre base de données. J'ai vu un certain nombre de messages de blog qui montrent comment le script de ce.
Effectuer les modifications directement dans le volet Propriétés de la DBML. Cela fonctionne pour de simples changements, par exemple, en permettant à des valeurs null dans un champ.
Les DBML designer n'est pas installé par défaut dans Visual Studio 2015, 2017 et 2019. Vous devez fermer, VS, début de la VS installer et modifier votre installation. Le LINQ to SQL outils est la fonction que vous devez installer. Pour VS 2017/2019, vous pouvez le trouver sous Composants Individuels > Code Outils.
Mettre à jour une table dans votre .dbml-diagramme avec, par exemple, ajouté des colonnes, faites ceci:
Vous pouvez aussi consulter les PLINQO ensemble de code de templates de génération, basé sur CodeSmith, qui vous permettent de faire beaucoup de belles choses pour et avec Linq-to-SQL:
Découvrez la PLINQO site http://www.plinqo.com et regardez les vidéos d'intro.
Le deuxième outil que je sais de la Huagati DBML/EDMX outils, qui permettent la mise à jour des DBML (Linq-to-SQL) et EDMX (Entity Framework) des fichiers de mappage, et de plus en plus (comme les conventions de nommage, etc.).
Marc
Nous utilisons une coutume écrite T4 modèle de dynamique des requêtes de la information_schema modèle pour chaque table, dans tous nos .DBML fichiers, puis remplace les parties de l' .DBML fichier avec des produits frais informations de schéma de la base de données. Je très recommandent de mettre en œuvre une solution comme celle - ci, il m'a sauvé un tas de temps, et contrairement à la suppression et re-ajout de vos tables pour votre modèle, vous pouvez garder vos associations. Avec cette solution, vous obtiendrez des erreurs de compilation lors de vos changements de schéma. Vous voulez vous assurer que vous utilisez un système de contrôle de version si, parce que la comparaison est vraiment à portée de main. C'est une excellente solution qui fonctionne bien si vous êtes en développement avec un DB schéma première approche. Bien sûr, je ne peux pas partager mon code de la société de sorte que vous êtes sur votre propre pour la rédaction de ce vous-même. Mais si vous savez que certains de Linq-to-XML et peuvent aller à l'école sur ce projet, vous pouvez obtenir où vous voulez être.
Je vous conseille d'utiliser le concepteur visuel intégré dans VS2008, la mise à jour de la dbml également les mises à jour du code qui est généré pour vous. La modification de la dbml en dehors de visual designer entraînerait dans le code sous-jacent cours de la synchronisation.
Il y a une nuance à la mise à jour des tables de mise à jour de la DBML... les relations de clé Étrangère ne sont pas toujours immédiatement apporté plus si des modifications sont apportées à des tables existantes. Le travail est de faire un build du projet, puis ajouter de nouveau les tables de à nouveau. J'ai signalé cela à la SEP et ses fixées pour VS2010.
DBML écran n'affiche pas les nouvelles les contraintes de clé étrangère
Noter que les instructions données dans la principale réponse ne sont pas claires. Pour mettre à jour la table
Dans le cas de la procédure stockée mise à jour, vous devez le supprimer de l' .fichier dbml et réinsérez-les de nouveau. Mais si la procédure stockée avez deux chemins d'accès (ex: si quelque chose; afficher certaines colonnes; else afficher certains autres colonnes), assurez-vous que les deux chemins sont les mêmes colonnes, alias!!! Sinon seul le premier chemin colonnes existent.