实体框架6.2.0插入后延迟加载

时间:2017-12-04 15:44:05

标签: entity-framework-6

添加

后发生了奇怪的事情
context.Activities.Add(activity);
context.SaveChanges();
尝试使用导航栏

后立即

CommandId = activity.CommandId;
if (CommandId != 0)
{
    CommandName = activity.Command.CommandName;
}

ActivityCategoryId = activity.ActivityCategoryId;
if (ActivityCategoryId != 0)
{
    ActivityCategoryName = activity.ActivityCategory.Name;
}

"命令"为null和" ActivityCategory"不是。两者都是作为数据库"更新模型的一部分而创建的。并且都有公共的null参数构造函数。两种正常查询都可以填充表格。代理存在于此。但是,在Add之后,命令的代理不存在。

生成的代码定义

    public virtual ActivityCategory ActivityCategory { get; set; }
    public virtual Command Command { get; set; }

如果我明确地"包含",则可以正常工作。

    public static IList<DAL.Activity> GetActivitiesByCommandI(DAL.MSMTEntities context, int id)
    {
        IList<DAL.Activity> list = context.Activities
            .Include(a => a.Command)
            .FilterActivitiesByCommandId(id)
            .ToList();

        return list;
    }
    public static IQueryable<DAL.Activity> FilterActivitiesByCommandId(this IQueryable<DAL.Activity> query, int id)
    {
        IQueryable<DAL.Activity> result = query
            .Where(act => act.CommandId == id);

        return result;
    }

不确定下一步要找什么。将深入到上下文中寻找线索。感谢任何指导。

1 个答案:

答案 0 :(得分:0)

抱歉,这在标记中是一个迷路的实体数据源。为什么它会破坏空间类型,我没有任何线索。我从nuget下载了ef6,直到我可以锻炼恶魔。

由于