Удаление всех объектов в таблице

Я хочу удалить контент (только данные, но не структуру и внешние ключи.) Всех таблиц (все сущности, использующие Entity Framework 4+). Как это может быть сделано? Я использую среду SQLCE и Entity с Visual Studio 2010.

entities.ExecuteStoreCommand("DELETE FROM TABLENAME"); 

Вышеизложенный запрос не удаляет все строки. Позже я также использовал бы

 entities.ExecuteStoreCommand("DELETE FROM TABLENAME WHERE COL1=0"); 

Вы можете использовать библиотеку EntityFramework.Extended для выполнения массовых удалений. Вот пример того, как он выглядит:

 //delete all users where FirstName matches context.Users.Delete(u => u.FirstName == "firstname"); 

поскольку вы хотите удалить все, вы можете использовать его следующим образом:

 //delete all users context.Users.Delete(u => u.UserId >= 0); 

вы можете загрузить пакет из nuget или их Github: https://github.com/loresoft/EntityFramework.Extended

Мне пришло в голову, что у вас могут быть проблемы с удалением, потому что вам нужно включить каскад при удалении. Если вы используете кодовый метод EF, вы можете сделать это следующим образом:

 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<User>() .HasOptional(a => a.UserDetail) .WithOptionalDependent() .WillCascadeOnDelete(true); // <-- add this to the code-first model builder. } 

В SQL вы можете использовать TRUNCATE TABLENAME но если у вас есть внешние ключи, вам нужно будет установить количество ключей в 0, затем усечь, а затем снова установить ключ-ключ в 1:

 "SET FOREIGN_KEY_CHECKS = 0;" "TRUNCATE TABLE TALBENAME;" "SET FOREIGN_KEY_CHECKS = 1;" 

ИЛИ

 "ALTER TABLE TABLENAME;" "DROP CONSTRAINT FK_Name;" 
  • Есть ли способ конвертировать MDF-файл SQL Server 2008 в версию SQL Server Express?
  • C # WinForms - DataGridView / SQL Compact - отрицательное целое число в столбце первичного ключа
  • Массовая вставка в SQL Server CE
  • Почему этот запрос, который использует конкатенацию строк, выдает ошибку в SQL Server Compact Edition?
  • Почему я не могу вставить запись в базу данных SQL Compact 3.5?
  • В Visual Studio 2013 нет поставщика данных SQL Server CE
  • Производительность SQL Server CE, выбор из таблицы занимает 8 секунд для 7000 записей
  • Преобразовать .sdf в .bak
  • Как я могу получить сумму таблицы базы данных для переменной?
  • Как импортировать данные в SQL Compact Edition?
  • Программно определить размер файла Sdf SQL Server Compact
  • Давайте будем гением компьютера.