C#存储库按类或ID删除

时间:2018-05-29 01:03:17

标签: c# entity-framework interface .net-core repository

这是一个常见的存储库删除功能。 C#如何知道要删除的项目?用整数id,primaryid键删除是不是更好?通过全班,是否不需要更长的处理时间?

谢谢,

    public void Delete(T entity)
    {
        _dbContext.Set<T>().Remove(entity);
        _dbContext.SaveChanges();
    }

    public void Delete(Foo entity) 
    {
        context.Foos.Remove(entity);
    }

1 个答案:

答案 0 :(得分:0)

  

C#如何知道要删除的项目?

实体框架通过唯一标识符删除它。

  

通过整数ID,主键删除是不是更好?

是的,实际上,实体框架也会通过其唯一ID删除记录。但是我们必须提供一个完整的实体,然后实体框架匹配实体ID。

  

通过全班,是否不会花费更长的处理时间?

不是太多,几毫秒,但问题是两个数据库查询一个操作,一个检索记录,第二个删除记录。

<强>解决方案:

在Entity framework 6.0中,您可以删除记录而不检索它。 Here is a complete solution.