从SQLite中删除所有相应的项目

时间:2017-12-21 22:16:22

标签: c# linq sqlite

我有以下语句获取所有列表项,然后循环删除数据库中的每个项目。

有没有更好的方法来处理删除所有项目?

IRepository.cs

public interface IRepository<T> where T : new()
{
    TableQuery<T> AsQueryable();
    T GetById(object id);
    List<T> GetWithChildren(Expression<Func<T, bool>> predicate = null);
    void Delete(T entity);
    void CreateTable();
    void Clear();
}

AnotherService.cs

protected IRepository<TModel> Repository => _repository ?? (_repository = new Repository<TModel>(_factory));

Service.cs

private IRepository<Class> _classRepo;
public void DeleteClasses(string classId)
{
  foreach (var class in _classRepo.Get(x => x.ClassId.Equals(classId)).ToList())
  {
   _classRepo.Delete(class);
  }
}

0 个答案:

没有答案