0

単純な親子テーブルがあり、Entity Framework を使用して 1 つの SQL ステートメントを入力したいと考えています。このようなもの:

public class Parent
{
    public long ParentId { get; set; }
    public virtual List<Child> Children { get; set; }
}

public class Child
{
    public long ChildId { get; set; }
    public long ParentId { get; set; }
    public DateTime DateCreated { get; set; }
}

public Parent GetParent (long parentId)
{
    IQueryable<Parent> query =
            (from a in db.Parents.Include("Children")
             where a.ParentId == parentId
             select a);
    return query.FirstOrDefault();
}

これは、1 つの SQL ステートメントで親とすべての子を取得する際に機能するようです。私が今やりたいことは、子リストを DateCreated フィールドで並べ替えることですが、その方法がわかりません。ThenBy() の使用に関する投稿を見たことがありますが、上記の Linq に注入する方法がわかりません。Linq を作成するより良い方法はありますか?

-シュナー

4

1 に答える 1

2

残念ながら、これはサポートされていません。含まれているレコードをLinq-to-entitiesで注文することはできません。親レコードのみを注文できます。しかし、あなたはまだ次のようなことをすることができます:

var parent = GetParent(id);
var orderedChildren = parent.Children.OrderBy(c => c.DateCreated);
于 2012-05-31T17:23:19.483 に答える