如何创建一个将一个实体与一个集合一起返回的查询,并将该集合排序?我不在乎它是否是对DB的两次调用..我只需要最终结果是实体类型而不是匿名类型:
VAR
category = context.Categories.Where(c => c.categoryID == categoryID).Select(c => new {c,products = c.Products.OrderByDescending(p => p.priceDate)} )。首先();
但我想让上面的内容返回或转换为带有Products集合的类别..与匿名类型相关联。谢谢!
答案 0 :(得分:0)
如果您的数据库中有正确的外键关系,那么对您的类别进行简单选择就足够了,然后您可以订购产品
Category category = context.Categories.Where(c => c.categoryID == categoryID).First();
List<Product> sortedProducts= context.Categories.products.OrderBy(...).ToList()
当你获得顶级对象时你的FK关系设置它也应该检索它的孩子(我没有使用linq-to-entities但是使用linq-to-sql我不能想象它在这方面不同) 我认为以上应该有效......
答案 1 :(得分:0)
你能把它放到类别课程中吗?像这样:
public parital class Category
{
public Ilist<Product> ProductsByPriceDate
{
get
{
return this.Products.OrderbyDescending(p= > p.priceDate).ToList();
}
}
}