2010-07-22 3 views
0

Привет в настоящее время, когда я хочу, чтобы очистить мои таблицы я использую грубую силу:Лучший способ «Очистить» все таблицы с помощью Entity Framework

 inventario_dboEntities inv = new inventario_dboEntities();    

     foreach (var item in inv.espiromex_dampers) 
     { 
      inv.DeleteObject(item); 
     } 
     foreach (var item in inv.espiromex_detalles) 
     { 
      inv.DeleteObject(item); 
     } 
     foreach (var item in inv.espiromex_docs) 
     { 
      inv.DeleteObject(item); 
     } 

Я уверен, что должно быть лучше, более элегантный способ сделать это ... как вы, ребята, выполняете такую ​​задачу?

+1

Зачем вам нужно очистить базу данных? Не могли бы вы просто отправить SQL-запрос? – TheCloudlessSky

+1

это моя тестовая база данных, поэтому я время от времени очищаю ее, чтобы начать новую! да, я могу отправить запрос, чтобы усечь все, но я хочу знать, есть ли способ, который лучше, чем это, используя сущность framework. – Luiscencio

+1

На самом деле нет лучшего способа ... Я бы создал какую-то хранимую процедуру ResetDatabase, которая сбрасывает таблицы (идентификаторы и т. Д.). Обязательно удалите его во время работы, конечно ... – TheCloudlessSky

ответ

1

Я думаю, что лучший способ и наилучшая практика - усечь их в браузере запросов (поскольку вы используете MySQL) или как @TheCloudlessSky сказал, используя хранимую процедуру.

Также (но я не уверен) вы могли бы использовать Reflection и некоторые причудливые вещи.

2

Мы делаем это, восстанавливая «базовую» базу данных из резервной копии.

2

Еще один вариант, который у вас есть в Entity Framework - это использовать ExecuteStorecommand, это сделать db.ExecuteStoreCommand (@ "delete table1; delete table2; delete table3;");

Смежные вопросы