テーブルを結合する際にこのクエリがありますが、インクルードテーブルまたは結合テーブルからデータが返されませんでした。Entityフレームワークのテーブルを結合する
var tasks = (from item in ctx.Tasks
join tp in ctx.TaskPlugins
on item.TaskId equals tp.TaskId
select item)
.Include(x => x.TaskPlugins).Include(x => x.TaskPlugins.Select(p => p.Plugin)).Include(x=>x.TaskPlugins.Select(p=>p.Plugin.Store));
return ctx.Tasks.ToList();
エラーメッセージからデータを返さないこのクエリ:((System.Data.Entity.DynamicProxies.Task_6F777A6C52D9E84FD3DF53481564A61969CE62ABBA9D985448F99BFB8A49A2D7)new System.Collections.Generic.Mscorlib_CollectionDebugView<oRouter.Model.Task>(task).Items[0]).TaskPlugins
感謝。
問題があなたに含まれています。 '.Include(x => x.TaskPlugins)'にはすでに 'Plugin'と' Plugin.Store'が含まれていなければなりません。したがって、2つの追加インクルードなしでクエリを試し、正しい値を取得するかどうかを確認してください。 –
@ KeyurPATELいいえ。最初のインクルードは、すべてのオブジェクトを深くまで取得できません。 – sachin
これを簡単にするために、 '.Include(" TaskPlugins ")。インクルード(" TaskPlugins.Plugin ")インクルード(TaskPlugin.Plugin.Store"); ' –