EntityFramework在保存更改之前显示实体

entity frameworkObjectSet及其方法ToList显示刚刚保存的实体。 这意味着,当我打电话

context.AddToCustomers(myNewCust); 

然后(不调用SaveChanges)

 myDataGrid.DataContext = context.Customers.ToList(); 

DataGrid不显示新添加的实体(即使context.Customers.Count()也不包含它)。

有没有办法显示这些实体(那些具有EntityState = Added )?

提前致谢。

我认为您可以通过调用以下内容来获取未保存的已添加实体:

 var inserted = context.ObjectStateManager .GetObjectStateEntries(EntityState.Added) .Where(e => !e.IsRelationship) .Select(e => e.Entity) .OfType(); 

但只是通过阅读你的问题,我害怕你正试图做错事。 为什么需要将未保存的实体与检索到的组合? 如果您需要显示未保存的内容,您应该将其保存在您自己的单独集合中。

查看TryGetObjectStateEntry(EntityKey,ObjectStateEntry)方法

http://msdn.microsoft.com/en-us/library/system.data.objects.objectstatemanager.aspx