gpt4 book ai didi

entity-framework-4.1 - 实体状态设置为修改而不是删除

转载 作者:行者123 更新时间:2023-12-05 05:27:19 24 4
gpt4 key购买 nike

我要从以下列表中删除一个项目

List<string> cities = new List<string>();
cities.Add("New York");
cities.Add("Mumbai");
cities.Add("Berlin");
cities.Add("Istanbul");

cities.Remove(2);

上下文跟踪这个删除。

 var entityChangeList = ChangeTracker.Entries().Where(p => p.State == EntityState.Added || p.State == EntityState.Deleted || p.State == EntityState.Modified);
return entityChangeList.Count();

虽然entityChangeList.Count()为1,但是EntityState被修改了。根据我的理解,它必须被删除。我应该手动将状态设置为已删除吗?

谢谢

最佳答案

您是否尝试直接从 DBSet 中删除一个条目?在这种情况下,EntityState 将被设置为 Deleted。但是如果你试图用外键删除 DBSet 中另一个列表中的条目,那么外键将被设置为 null(如果你的数据库允许 null),导致父 DBSet 的状态为 Modified 而不是 Deleted。

关于entity-framework-4.1 - 实体状态设置为修改而不是删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20106083/

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