在Entity框架中加入表

时间:2016-09-19 04:50:50

标签: c# mysql entity-framework

我在加入表时会遇到此查询,但它没有从Include表或Join表返回数据。

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();

但此查询不会返回TaskPlugins的数据 screenshot

错误讯息:((System.Data.Entity.DynamicProxies.Task_6F777A6C52D9E84FD3DF53481564A61969CE62ABBA9D985448F99BFB8A49A2D7)new System.Collections.Generic.Mscorlib_CollectionDebugView<oRouter.Model.Task>(task).Items[0]).TaskPlugins

感谢。

1 个答案:

答案 0 :(得分:2)

有一件事,您应该返回while (cin.getline(str, STRSIZE)) { if ( str[0] == '\0' ) { break; } // Use str } 而不是tasks.ToList()

其次,最后一个包含ctx.Tasks.ToList()是唯一需要的。前2个包含 NOT 需要。