Я хочу динамически добавить предложение where в мой запрос LINQ.У меня есть имя свойства фильтра и значение свойства фильтра, поэтому мне нужно построить что-то вроде этого:
var assignmentListQuery = context.Assignments;
if (!string.IsNullOrWhiteSpace(bookingStep.FilterPropertyName) && !string.IsNullOrWhiteSpace(bookingStep.FilterPropertyValue))
{
assignmentListQuery = assignmentListQuery.Where(item => PROPERTYNAME == PROPERTYVALUE)
}
ar assignmentList = await assignmentListQuery.ToListAsync();
Я попытался получить propertyinfo свойства, что, как мне кажется, здесь не так.
var item = context.Set<Assignment>().First();
object value = item.GetType().GetProperty(bookingStep.FilterPropertyName).GetValue(item, null);
Кто-нибудь знает, как создать этот тип предложения where?
public class Assignment
{
/// <summary>
///
/// </summary>
[Display(Name = nameof(Id))]
public int Id { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = nameof(OrderNumber))]
public string OrderNumber { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = nameof(ScheduledLoading))]
public DateTime ScheduledLoading { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = nameof(CustomerOrderNumber))]
public string CustomerOrderNumber { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = nameof(ArticleNumber))]
public string ArticleNumber { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = nameof(Comment))]
public string Comment { get; set; }
[Display(Name = nameof(CustomerId))]
public int? CustomerId { get; set; }
[Display(Name = nameof(Customer))]
public virtual Customer Customer { get; set; }
}
Это объект Assignment, FilterPropertyName, например, "CustomerOrderNumber"