我正在向对象上下文添加一个实体,如此
public partial class MyEntities : ObjectContext
.
.
.
在另一个班级,我有以下代码
using (MyEntities dbContext = new MyEntities())
{
Info x = new Info();
dbContext.AddToInfo(x);
}
然而,当我在'dbContext'中添加'x'后检查Info中的实体时,监视会说dbContext.Info'枚举没有产生任何结果'。
以下是Watch窗口的屏幕截图
为什么会这样?
答案 0 :(得分:0)
尝试:
using (MyEntities dbContext = new MyEntities())
{
Info x = new Info();
dbContext.YourTableObjectSet.AddObject(x);
}
YourTableObjectSet是表示表的ObjectSet的名称。
答案 1 :(得分:0)
然后添加一个新实体,它只出现在ObjectStateManager中。要使您的实体出现在ObjectSet中,您需要调用dbContext.SaveChanges。
如果您希望能够枚举所有实体,则需要查询ObjectSet和ObjectStateManager。
dbContext.Infos.Union(dbContext.ObjectStateManager.GetObjectStateEntries(EntityState.Added).Select(e=> e.Entity).OfType<Info>)
(语法可能有误,我只是从内存转换代码来自vb.net)