实体框架ObjectContent AddObject

时间:2012-11-23 09:23:31

标签: c# entity-framework-4.1

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

this.ObjectContext.SsoContactMd.AddObject(contact);

但是新实体不在SspoContactMd集合中。

我在哪里可以找到我添加到收藏中的实体?

问候,l。

1 个答案:

答案 0 :(得分: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 => ...);