J'apprends actuellement C # et LINQ. J'ai beaucoup de questions à leur sujet. Fondamentalement, j'ai besoin d'un tutoriel étape par étape.
Je suppose que le fichier dbml
est le fichier de configuration de la base de données. Si je double-clique sur le fichier dbml
VS l'ouvrira dans un diagramme de conception. Puis-je créer/supprimer/modifier des tables ici? Je peux utiliser add new item
pour ajouter le LINQ to SQL Classes
pour obtenir un fichier dbml
?
Et après? Générer des tables dans la base de données? Générer un script SQL? Générer des fichiers CS? Quand? Comment?
Le fichier DBML n'est pas du tout lié au serveur de base de données. C'est une chose complètement côté client. Il s'agit essentiellement d'un ensemble d'informations sur vos tables dans la base de données et comment vous allez les mapper aux objets .NET.
Bien sûr, vous pouvez faire glisser une table à partir d'une base de données et demander à Visual Studio de déduire automatiquement certaines informations pour vous, mais la modification du fichier n'affectera pas la base de données. Vous pouvez également créer un fichier DBML à partir de zéro sans base de données.
En interne, le fichier DBML est simplement un fichier XML qui est introduit dans un outil personnalisé par Visual Studio et génère .cs
fichiers représentant le modèle d'objet LINQ de votre base de données.
Le fichier DBML est un mappage qui définit vos classes en fonction de votre schéma de base de données. Oui, il définit votre chaîne de connexion (par défaut), mais il ne "configure" pas du tout votre base de données.
Linq to Sql utilise une approche basée sur la base de données dans laquelle vous disposez de la base de données et modélisez vos classes d'après le schéma de base de données. En faisant glisser et en déposant le tableau là-bas, vous automatiserez la création des classes afin de ne pas avoir à les taper. Vous pouvez modifier les noms de propriété, etc. à partir de là et le mappage entre la propriété et son nom de colonne de base de données correct restera intact.
Oui, le fichier DBML est créé lorsque vous ajoutez une classe Linq à SQL. Dans le concepteur (ce que vous voyez lorsque vous double-cliquez sur le fichier DBML), vous pouvez y faire glisser des tables (depuis l'explorateur du serveur). Vous pouvez ensuite référencer ces tables dans votre code. Il existe plusieurs didacticiels de démarrage:
Cochez cette SO question pour plus de détails: