gpt4 book ai didi

c# - 删除表中的所有实体

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:45 25 4
gpt4 key购买 nike

我想删除所有表(所有使用 Entity Framework 4+ 的实体)的内容(仅数据,但不包括结构和外键)。如何才能做到这一点?我在 Visual Studio 2010 中使用 SQLCE 和 Entity Framework 。

entities.ExecuteStoreCommand("DELETE FROM TABLENAME");

以上查询不会删除所有行。稍后,我也会使用像这样的 where 从句

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.
}

关于c# - 删除表中的所有实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22392844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com