【发布时间】:2018-02-17 06:37:14
【问题描述】:
我想从 Entity Framework Core 2.0 执行一条 SQL 命令,但我不知道该怎么做。
1.- 我需要这样做的原因是,我想从数据库表中删除所有数据,并且使用 Context.remove 或 Context.removeRange 会产生对 DB 的多次调用(表中的每个数据一个) .
2.- 我读到有一种方法 .ExecuteSqlCommand 可以实现这一点,但我的 Context.Database 中不存在该方法(可能在 Core 2.0 中它已被删除?)。以下是信息来源:Dropping table In Entity Framework Core and UWP
所以,基本上我需要使用 EF Core 2.0 从代码中删除一个表,据我所知,我需要为此执行一个 SQL 命令。
谢谢。
这是我的 .csproj,以防我遗漏了什么
<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>
【问题讨论】:
标签: c# sql entity-framework-core asp.net-core-2.0