私はいくつかの階層データを持っています。私が使用してモデルクラスは次のようになります。エンティティコード内の階層データの取得
public class Category
{
[Key]
public int CategoryID { get; set; }
[Required]
[StringLength(64)]
public string Name { get; set; }
public int? ParentCategoryID { get; set; }
[ForeignKey("ParentCategoryID")]
public Category ParentCategory { get; set; }
[Required]
public int ListOrder { get; set; }
// left/right
public int TreeLeft { get; set; }
public int TreeRight { get; set; }
} // eo class Category
私は自分のデータを格納するhereを概説技術を使用して、データを挿入し、取り出すことは問題ではありませんしました。私がやりたい何
、このクラスに分類コレクションを追加します:
public virtual IEnumerable<Category> {get; set; }
私が取得するときに、関連するテーブルを含めるために、(MVCのチュートリアルから学んだ)過去にこの技術を使用しましたデータ。しかし、私はこれを試してみましたが、IEnumerable <>が抽象的であるというエラーを受け取りました(わかりました、フレームワークは私が何をしたいのか分かりませんでした)...
...確かにLINQの新機能であるLINQがどのように見えるかはわかりません。つまり、それぞれが子を内部に持つCategory
インスタンスのコレクションを返すことになります。
手動でリストを構築できると思いますが、通常のLINQクエリを使用して特定の位置(およびその子)のすべてのカテゴリを取得し、手動ですべてを取り込みます。
私はLINQがこれを行うことができるのだろうかと思っていましたか?
ありがとうございます!
あなたは本当に継承を使いたくありませんか? – Euphoric