【问题标题】:How to delete multiple data using entity framework and asp.net?如何使用实体框架和asp.net删除多个数据?
【发布时间】:2018-01-07 02:47:40
【问题描述】:

您好,我现在正在学习实体框架,但还是个初学者。现在,我在删除数据库中的多个数据时遇到了问题。这是我的一个数据库:

Please click to see the image for database

例如,我想删除品牌 ID 为 2 的所有数据。我尝试使用以下代码:

 int brandId = (from i in context.brands where i.name == name.Text select i.brandId).First();
var bay2 = (from g in context.logoes where brandId == g.brandId select g).FirstOrDefault();

        if (bay2 != null)
        {
            context.logoes.Remove(bay2);
            context.SaveChanges();
        }

但它只删除了一个数据,即 logoId 3。它没有删除 logoId 4。我在查询中做错了什么?如何使用实体框架删除所有具有brandId 2的数据?

【问题讨论】:

  • 我相信你可以删除多个 logo 使用 RemoveRange..

标签: c# sql asp.net database entity-framework


【解决方案1】:

这条线只拉一个物体:

var bay2 = (from g in context.logoes where brandId == g.brandId select g).FirstOrDefault();

因为FirstOrDefault

删除FirstOrDefault。然后使用RemoveRange:

var bay2 = (from g in context.logoes where brandId == g.brandId select g).FirstOrDefault();

if (bay2.Any())
{
    context.logoes.RemoveRange(bay2);
    context.SaveChanges();
}

【讨论】:

    【解决方案2】:

    尝试使用 .ToList() 方法而不是 First()。然后使用 foreach 遍历此示例列表并删除这些对象,或删除整个范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 2018-08-15
      相关资源
      最近更新 更多