0

「サブカテゴリ」を持つ「タスク」テーブルがあります。サブカテゴリはカテゴリに関連しています。カテゴリには多くのサブカテゴリがありますが、私のタスクアイテムにはサブカテゴリIDしか保存されていません(カテゴリはこれから推測できます)。

したがって、私のエンティティフレームワークはこの関係を理解し​​ているようです。

しかし、私のリンクは失敗しています。

public TaskObject GetTask(int taskId)
{
    var item = (from t in _te.tasks.Include("r_sub_category").Include("r_category").Include("r_priority").Include("r_state").Include("assigned_person").Include("create_person").Include("update_person") where t.task_id == taskId select t).FirstOrDefault();
    return Transformer.UnpackTask(item);
}

r_categoryテーブルとエンティティオブジェクトがありますが、これを実行すると、次のように表示されます。

指定されたインクルードパスが無効です。EntityType'taskerModel.task'は、名前'r_category'のナビゲーションプロパティを宣言しません。

そして、それは正しいです-r_categoryは私のr_sub_categoryテーブルにリンクされています...そしてタスクに直接リンクされていません。r_categoryをロードする方法はありますか?

または、おそらくこのインクルードは怠惰であり、私は自分自身に何らかの参加をする必要がありますか?多分もっと効率的ですか?

4

1 に答える 1

0

ドット表記でフルパスを表示する必要があるため、次のようになると推測しています

"r_sub_category.r_category". 

などなど

于 2012-08-25T03:54:40.003 に答える