Как проверить, что моя модель LINQ-to-SQL соответствует схеме базы данных? - PullRequest
2 голосов
/ 18 ноября 2008

Я абсолютно новичок в мире .NET, и начал с C # в пятницу. Однако у меня есть некоторый опыт работы с приложениями баз данных.

Мы пойдем с LINQ-to-SQL для проекта среднего масштаба. Я привык генерировать мою схему из классов и отслеживать изменения с помощью Subversion и эквивалентов Ruby's Migrations. Очевидно, не существует простого способа сделать это с самой LINQ .

Поэтому я подумал о создании схемы (и некотором доступе к данным) с помощью ActiveRecord проекта замка и использования Migrator.NET Тарантино или dbdeploy .net для обновления схемы. (Какие-либо предложения для этого?)

Мой главный вопрос: Как проверить, что мои классы LINQ по-прежнему соответствуют схеме базы данных? Выдает ли LINQ исключения, если схема не совпадает? Могу ли я перебрать все классы LINQ и вызвать некоторый метод проверки?

Я уже обнаружил, что sqlmetal - это способ восстановить классы .

PS: мы будем использовать SQL Server (2008 или 2005).

Ответы [ 2 ]

3 голосов
/ 18 ноября 2008

Этот инструмент поможет синхронизировать их, но я не уверен, что он покажет различия ... хотя может быть полезным. (

РЕДАКТИРОВАТЬ: Как сказал KristoferA в своем комментарии, он поддерживает сравнения (: - спасибо KristoferA.

2 голосов
/ 21 ноября 2008

Что касается:

Я привык генерировать мою схему от занятий и следите за изменениями

Я только что добавил функцию генерации DDL в Huagati DBML / EDMX Tools (версия 1.47, выпущена сегодня). Он может генерировать DDL-скрипты diff в случае, если вы добавили что-то в конструктор Linq-to-SQL, но еще не добавили их в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...