Best Practices für die Verwaltung von Linq to SQL Dbml-Dateien?
Ich habe gerade angefangen mit Linq to SQL, und ich Frage mich, ob jemand irgendwelche best practices, die Sie teilen können, die für die Verwaltung dbml-Dateien.
- Wie halten Sie Sie up to date mit der Datenbank?
- Haben Sie einen einzigen dbml-Datei für die gesamte Datenbank, oder ist es aufgeteilt in mehrere logische Einheiten?
- Wie funktioniert die Verwaltung dieser Datei arbeiten, in einer team-Umgebung?
Andere Tipps und tricks willkommen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie sich SqlMetal? Es ist offiziell unterstützt, obwohl nicht gefördert, zu viel. Sie können es verwenden, um zu bauen dbmls von der commandline - wir haben es als Teil einer db continous integration-updates (stellen Sie sicher, Sie haben wirklich gute code-Trennung, wenn Sie dies tun, obwohl - partielle Klassen werden ein Retter, wie die dbml wird überschrieben).
Wenn ich mich Recht erinnere, das es nicht ganz den gleichen features wie die model-designer in Visual Studio (ich glaube, Sie verarbeitet die Pluralisierung anders). Gibt es eine guter Beitrag über Ben Hall ' s blog.
Die Tatsache, dass die L2S-designer nicht unterstützt die Synchronisierung mit der Datenbank-Struktur ist eine große Einschränkung in meinem Kopf. Es gibt jedoch ein add-in verfügbar, das bietet einige re-sync-Fähigkeiten:
http://www.huagati.com/dbmltools/
Leider ist es nicht mehr kostenlos ist.
Seit Ihr gefragt für andere Tipps und tricks für die Verwaltung DBML...
Wenn DBML-Dateien werden von der Datenbank aktualisiert, es gibt bestimmte schema-Einstellungen, die Sie nicht aufgreifen, wie beispielsweise die Standard-Spalte Werte, zwingt Sie die Einstellung manuell ändern. Dies kann dazu führen, verlorene Stunden jedes mal, wenn Sie aktualisieren die DBML, ohne zu merken oder zu erinnern, wo Sie brauchen, um manuelle Anpassungen vorzunehmen, und der Ihr code beginnt zu Versagen.
Um dem vorzubeugen, ein trick ist, um Schreibe einen unit test, der verwendet reflektion, um zu überprüfen, die LINQ-Metadaten für die (manuellen) Einstellungen. Wenn der test fehlschlägt, gibt es eine Fehlermeldung, wird der Benutzer um die richtige änderung der Spalte Eigenschaften. Es ist keine perfekte Lösung, und es ist vielleicht nicht praktisch, wenn Sie viele manuelle Einstellungen, aber es kann helfen, vermeiden einige der großen Schmerzen für sich und Ihr team.
Hier ist ein Beispiel für einen nunit-test, um zu überprüfen, dass für eine Spalte gesetzt ist, automatisch zu generieren aus der DB.
PLINQO ist ein Satz von code generation templates Generierung von LINQ to SQL. Es unterstützt die Synchronisierung mit der Datenbank und die splitting Elemente in mehrere Klassen zusammen mit vielen anderen features, die für LINQ to SQL einfach zu bedienen.
Check-out die PLINQO-site http://www.plinqo.com sowie die intro-videos.
Hier ist ein link, der bietet Sie gute Informationen zu LINQ to SQL best practices
http://www.a2zmenu.com/LINQ/LINQ%20to%20SQL%20Best%20Practice.aspx