EF 5 を使用して、オブジェクトとそのフィルター処理された/順序付けられたコレクション プロパティを取得したいのですが、現在のコードでは例外がスローされます。
インクルード パス式は、型で定義されたナビゲーション プロパティを参照する必要があります。参照ナビゲーション プロパティにはドット パスを使用し、コレクション ナビゲーション プロパティには Select 演算子を使用します。
取得したいオブジェクトのクラスは次のとおりです。
public class EntryCollection
{
[Key]
public int Id { get; set; }
public ICollection<Entry> Entries { get; set; }
...
}
の定義は次のEntry
とおりです。
public class Entry
{
[Key]
public int Id { get; set; }
public DateTime Added { get; set; }
...
}
EntryCollection
最新のエントリのみを含むを取得したかったので、試したコードは次のとおりです。
using (var db = new MyContext())
{
return db.EntryCollections
.Include(ec => ec.Entries.OrderByDescending(e => e.Added).Take(5))
.SingleOrDefault(ec => ec.Foo == "bar');
}
何か案は?