|
@@ -32,7 +32,7 @@ namespace VCommon.VEntityFrameworkCore
|
|
|
|
|
|
if (_filterState[VEfDataFilters.Passive] && typeof(TEntity).IsAssignableTo(typeof(IPassive)))
|
|
if (_filterState[VEfDataFilters.Passive] && typeof(TEntity).IsAssignableTo(typeof(IPassive)))
|
|
{
|
|
{
|
|
- input = input.Where(p => ((IPassive)p).IsEnable == false);
|
|
|
|
|
|
+ input = input.Where(p => ((IPassive)p).IsEnable);
|
|
}
|
|
}
|
|
|
|
|
|
return input;
|
|
return input;
|
|
@@ -50,6 +50,16 @@ namespace VCommon.VEntityFrameworkCore
|
|
|
|
|
|
public virtual bool IsFilterEnabled(string filterName) => _filterState[filterName];
|
|
public virtual bool IsFilterEnabled(string filterName) => _filterState[filterName];
|
|
|
|
|
|
|
|
+
|
|
|
|
+ public virtual int Count(Expression<Func<TEntity, bool>> queryExpression = null)
|
|
|
|
+ {
|
|
|
|
+ var source = ProcessFilters(DbSet.AsNoTracking());
|
|
|
|
+
|
|
|
|
+ return queryExpression != null
|
|
|
|
+ ? source.Count(queryExpression)
|
|
|
|
+ : source.Count();
|
|
|
|
+ }
|
|
|
|
+
|
|
public virtual IQueryable<TEntity> QueryNoTracking(Expression<Func<TEntity, bool>> queryExpression = null)
|
|
public virtual IQueryable<TEntity> QueryNoTracking(Expression<Func<TEntity, bool>> queryExpression = null)
|
|
{
|
|
{
|
|
var source = ProcessFilters(DbSet.AsNoTracking());
|
|
var source = ProcessFilters(DbSet.AsNoTracking());
|
|
@@ -66,6 +76,7 @@ namespace VCommon.VEntityFrameworkCore
|
|
return null == queryExpression ? source : source.Where(queryExpression);
|
|
return null == queryExpression ? source : source.Where(queryExpression);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
public virtual void Delete(TEntity entity) => DbSet.Remove(entity);
|
|
public virtual void Delete(TEntity entity) => DbSet.Remove(entity);
|
|
|
|
|
|
@@ -78,9 +89,9 @@ namespace VCommon.VEntityFrameworkCore
|
|
return null == expression ? source.Any() : source.Any(expression);
|
|
return null == expression ? source.Any() : source.Any(expression);
|
|
}
|
|
}
|
|
|
|
|
|
- public TEntity GetEntityOrDefault(Guid id) => ProcessFilters(DbSet).FirstOrDefault(p => p.Id == id);
|
|
|
|
|
|
+ public virtual TEntity GetEntityOrDefault(Guid id) => ProcessFilters(DbSet).FirstOrDefault(p => p.Id == id);
|
|
|
|
|
|
- public TEntity GetEntityOrDefault(Expression<Func<TEntity, bool>> expression = null)
|
|
|
|
|
|
+ public virtual TEntity GetEntityOrDefault(Expression<Func<TEntity, bool>> expression = null)
|
|
{
|
|
{
|
|
var source = ProcessFilters(DbSet);
|
|
var source = ProcessFilters(DbSet);
|
|
return null == expression ? source.FirstOrDefault() : source.FirstOrDefault(expression);
|
|
return null == expression ? source.FirstOrDefault() : source.FirstOrDefault(expression);
|