添加
后发生了奇怪的事情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;
}
不确定下一步要找什么。将深入到上下文中寻找线索。感谢任何指导。
答案 0 :(得分:0)
抱歉,这在标记中是一个迷路的实体数据源。为什么它会破坏空间类型,我没有任何线索。我从nuget下载了ef6,直到我可以锻炼恶魔。
由于