Tôi đang sử dụng mô hình đề cập ở đây http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-applicationđộng Func <IQueryable <TEntity>, IOrderedQueryable <TEntity>> Biểu hiện
Và tôi đang sử dụng phương pháp dưới đây để truy vấn EF
public virtual IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "")
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList();
}
}
Bây giờ tôi muốn tạo động Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>
biểu thức để đặt hàng dữ liệu của tôi.
tôi biết tên trường chỉ như chuỗi và trật tự loại (tăng dần, giảm dần) là chuỗi (asc, desc)
Đó không phải là hình thức thông thường cho một trật tự-do; bạn đã thấy cái này chưa? http://stackoverflow.com/questions/41244/dynamic-linq-orderby –
@MarcGravell cảm ơn, tôi đã thấy điều đó. Nhưng hướng dẫn của MS chứa mã này vì vậy tôi đang cố gắng viết LINQ động phù hợp cho điều đó. Trên thực tế tôi nghĩ rằng tôi succeded nhưng tôi phải làm một số xét nghiệm và sau đó cho bạn biết. –