Fish.Domains/Repository.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Fish.Core.Query;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
namespace Fish.Domains
{
public class Repository<T> : IRepository<T>
where T : class, new()
{
private UnitOfWork UnitOfWork;
public Repository(IUnitOfWork unitOfWork)
{
UnitOfWork = (UnitOfWork)unitOfWork;
}
private DbSet<T> dbSet;
private DbSet<T> _dbSet
{
get
{
if (dbSet == null)
dbSet = UnitOfWork.Set<T>();
return dbSet;
}
}
public IQueryable<T> Query => _dbSet;
public T FindById(params object[] keyValues)
{
return _dbSet.Find(keyValues);
}
public int Remove(T t)
{
UnitOfWork.Entry(t).State = EntityState.Deleted;
_dbSet.Remove(t);
return UnitOfWork.Commit();
}
public int Remove(List<T> list)
{
list.ForEach(item =>
{
_dbSet.Remove(item);
});
return UnitOfWork.Commit();
}
public int Remove(Expression<Func<T, bool>> predicate)
{
_dbSet.Where(predicate).ToList().ForEach(item =>
{
_dbSet.Remove(item);
});
return UnitOfWork.Commit();
}
public T Insert(T t)
{
后面还有 158 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。