2012-12-13 12 views
27

Używam EF5 w VS2012, i starają się usunąć wszystkie dane z jakiejś tabeli przy użyciu ExecuteStoreCommand, coś takiego:Gdzie jest metoda ExecuteStoreCommand w Entity Framework 5?

ctx.ExecuteStoreCommand("TRUNCATE TABLE [" + tableName + "]"); 

ale problem jest EF mówi mi, metoda ExecuteStoreCommand nie została znaleziona. Nie rozumiem, dlaczego?

Czy możesz mi powiedzieć, dlaczego ?, lub daj mi rozwiązanie wydajnościowe, usuń wszystkie dane z tabeli.

+0

Czy jesteś pewien? http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.executestorecommand.aspx – tomfanning

+3

@tomfanning, to zależy, czy używa on ObjectContext lub DbContext –

+0

Prawidłowo. EF5/6 to domyślnie DbContext (POCO), chyba że je przesyłasz. – DFTR

Odpowiedz

80

Spróbuj tego:

ctx.Database.ExecuteSqlCommand 
+1

Ta odpowiedź powinna być oznaczona jako odpowiedź ... to jest idealne rozwiązanie.1 głosowanie dla ciebie @Justin Harvey –

+0

Używam: ctx.Database.ExecuteSqlCommand ("USTAWIENIE IDENTYFIKATORA IDENTYFIKATORA WŁ.") Ale to nie działa. .. Nie można wstawić niestandardowego klucza głównego. Jak to zrobić ? –

Powiązane problemy