Да - при условии, что вы работаете с Entity Framework (что, достаточно смутно, второй вариант ...)
Edit: Это способ сделать это только с EF4 , В моем первоначальном сообщении ниже описано, как выполнить одно и то же с помощью подхода Code-Only в EF CTP3.
Как: Экспорт модели в базу данных в EF4
Чтобы экспортировать модель в базу данных, щелкните правой кнопкой мыши в любом месте дизайнера (где вы не объект) и выберите «Создать базу данных из модели .. . "и выполните действия, описанные в мастере. Вуаля!
Оригинальный пост, нацеливание Ef4 CTP3 и Code-Only: Это код я использую в небольшой утилите настройки.
var builder = new ContextBuilder<ObjectContext>();
// Register all configurations you need here
builder.Configurations.Add(new EntryConfiguration());
builder.Configurations.Add(new TagConfiguration());
var conn = GetUnOpenedSqlConnection();
var db = builder.Create(conn);
if (db.DatabaseExists())
{ db.DeleteDatabase(); }
db.CreateDatabase();
Это works on my machine (хотя здесь я упростил немного для краткости ...), так что если что-то не работает, потому что я слишком упрощенно.
Обратите внимание, что, как заявил TomTom, вы получите только основы. Но это очень полезно, даже если у вас есть более сложная схема - вам нужно только вручную написать DDL, чтобы добавить сложный материал в сгенерированную схему БД.
Хотя ответ, который я дал для создания базы данных, я бы рекомендовал вместо этого использовать «TransactionScope» в ваших тестах, которые вы храните в закрытом поле в тестовом классе.В настройке для каждого теста вы открываете область транзакций (я делаю это, назначая «новый» экземпляр), а при отрыве вы выполняете откат. –