and*_*ner 8 c# linq asp.net entity-framework web-services
我有名为“product”的表的结果列表。
Id User ProductName ArrivalDate
---- ----- ------------ ------------
1 James Shoes 05/07/2016
2 Jenny TShirt 05/01/2018
3 James Pants 13/05/2017
Run Code Online (Sandbox Code Playgroud)
我想根据 ArrivalDate 按降序对结果进行排序,其中 User 是“James”,这意味着它应该将第三行结果返回给我。但是,如果我这样做:
return List(spec).OrderByDescending(x=>x.ArrivalDate).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
我得到的结果仍然是第一个,如果有人可以对此进行指导,请感谢。下面是示例代码:
public class EfRepository<T> : IRepository<T>, IAsyncRepository<T> where T : BaseEntity
{
public T GetSingleBySpec(ISpecification<T> spec)
{
return List(spec).FirstOrDefault();
}
}
public class ProductSpecification : BaseSpecification<NewProducts>
{
public ProductSpecification(string User)
: base(b => b.User == User) //User = James
{
}
}
public class ProductService : IProductService
{
public void getOrderProductDetails
{
var data = _productRepository.GetSingleBySpec(new ProductSpecification(user));
}
}
Run Code Online (Sandbox Code Playgroud)
Bob*_*b K 13
我没有看到用户的过滤器,您正在按用户订购。尝试这个。
return List(spec).Where(x => x.User == "James")
.OrderByDescending(y => y.ArrivalDate)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10559 次 |
| 最近记录: |