0

我向 ObjectContext 添加了一个新实体,但我没有保存它,

this.ObjectContext.SsoContactMd.AddObject(contact);

但之后新实体不在 SspoContactMd 集合中。

我在哪里可以找到我添加到集合中的实体?

问候湖

4

1 回答 1

0

SspoContactMd不是一个集合。它是ObjectSet= 数据库的访问点。您在其上运行的每个查询都会SspoContactMd转换为 SQL 并在数据库中执行。因为您没有保存对象,所以无法从数据库中取回它。

如果你想找到你的对象,你必须在ObjectStateManager

var entity = this.ObjectContext.ObjectStateManager
                               .GetObjectStateEntries(EntityState.Added)
                               .Where(e => !e.IsRelationship)
                               .Select(e => e.Entity)
                               .OfType<YourContactType>()
                               .SingleOrDefault(c => ...);
于 2012-11-23T10:15:15.007 回答