|
|
@ -79,15 +79,12 @@ namespace ModelToEntity
|
|
|
|
IQueryable<T> query = context.Set<T>();
|
|
|
|
IQueryable<T> query = context.Set<T>();
|
|
|
|
|
|
|
|
|
|
|
|
if (valueProperty != null && !string.IsNullOrEmpty(orderingPropertyName))
|
|
|
|
if (valueProperty != null && !string.IsNullOrEmpty(orderingPropertyName))
|
|
|
|
{
|
|
|
|
|
|
|
|
var prop = typeof(T).GetProperty(orderingPropertyName);
|
|
|
|
|
|
|
|
if (prop != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var idProp = typeof(T).GetProperty(orderingPropertyName);
|
|
|
|
var idProp = typeof(T).GetProperty(orderingPropertyName);
|
|
|
|
if (idProp != null)
|
|
|
|
if (idProp != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var parameter = Expression.Parameter(typeof(T), "entity");
|
|
|
|
var parameter = Expression.Parameter(typeof(T), "entity");
|
|
|
|
var propertyAccess = Expression.Property(parameter, prop);
|
|
|
|
var propertyAccess = Expression.Property(parameter, idProp);
|
|
|
|
var constant = Expression.Constant(valueProperty);
|
|
|
|
var constant = Expression.Constant(valueProperty);
|
|
|
|
var equality = Expression.Equal(propertyAccess, constant);
|
|
|
|
var equality = Expression.Equal(propertyAccess, constant);
|
|
|
|
var lambda = Expression.Lambda<Func<T, bool>>(equality, parameter);
|
|
|
|
var lambda = Expression.Lambda<Func<T, bool>>(equality, parameter);
|
|
|
@ -97,7 +94,6 @@ namespace ModelToEntity
|
|
|
|
return Task.FromResult<IEnumerable<T?>>(new List<T?> { filteredEntity });
|
|
|
|
return Task.FromResult<IEnumerable<T?>>(new List<T?> { filteredEntity });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return Task.FromResult<IEnumerable<T?>>(null);
|
|
|
|
return Task.FromResult<IEnumerable<T?>>(null);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var items = query.Skip((page -1) * count).Take(count).ToList();
|
|
|
|
var items = query.Skip((page -1) * count).Take(count).ToList();
|
|
|
|