【发布时间】:2018-09-25 15:14:15
【问题描述】:
有人可以帮我在 linq to sql 中订购嵌套集合吗?请参阅下面的示例:
public class A
{
public int Id { get; set; }
}
public class B
{
public virtual ICollection<A> ListA { get; set; }
}
从 db 中调用数据:
_unitOfWork.DbContext.B
.OrderByDescending(ev => ev.ListA.OrderBy(a => a.Id))
.ToList();
当 ListA 不为空时,一切正常。但是如果列表 A 为空,我会得到一个异常,即至少有一个对象需要实现 IComparable。有没有办法克服这个问题?
【问题讨论】:
-
ListA何时为空?或者当ListA为空时? -
@xdtTransform null
-
对于像
new[] { new B{ListA = new []{ new A { Id = 3 },new A { Id = 1 },new A { Id = 2 }} } ,new B{ListA = new []{ new A { Id = 3 },new A { Id = 1 }} } ,new B{ListA = new []{ new A { Id = 999 }} } ,new B{ListA = new []{ new A { Id = 3 },new A { Id = 1 },new A { Id = 2 },new A { Id = 4 }} } ,new B{ListA = new List<A>{} } ,new B{ListA = null } };这样的 B。预期的结果是什么?按元素数量排序列表?最大限度?总和?
标签: c# entity-framework linq linq-to-sql