Chcę wykonać polecenie SQL z Entity Framework Core 2.0, ale nie mogę wymyślić, jak to zrobić.Wykonaj polecenie SQL w Entity Framework Core 2.0, aby usunąć wszystkie dane z tabeli.
1.- Powodem, dla którego potrzebuję, jest to, że chcę usunąć wszystkie dane z tabeli bazy danych, a użycie Context.remove
lub Context.removeRange
spowodowałoby wiele wywołań do DB (po jednym dla każdego z danych w tabeli).
2.- Czytałem, że istnieje metoda .ExecuteSqlCommand
, aby to osiągnąć, ale ta metoda nie jest obecna w mojej Context.Database (może w Core 2.0 została usunięta?). Tutaj jest źródło informacji: Dropping table In Entity Framework Core and UWP
Tak więc, w zasadzie muszę usunąć tabelę z kodu przy użyciu EF Core 2.0 i, o ile mi wiadomo, muszę wykonać polecenie SQL dla tego.
Dziękuję.
Oto moja .csproj, tylko w przypadku jestem brakuje czegoś
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<!--<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" /> -->
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
</ItemGroup>
</Project>
Odniesienie to nie wystarczy. Musisz także odwołać się do 'Microsoft.EntityFrameworkCore.Relational', gdzie zdefiniowano' ExecuteSqlCommand [Async] '. – MEMark