开发者

EntityFramework show entities before saving changes

Entity Framework ObjectSet with its method ToList shows just saved entities. That means, when I call

context.AddToCustomers(myNewCust);

and then (without calling SaveChanges)

开发者_运维百科
myDataGrid.DataContext = context.Customers.ToList();

the DataGrid doesn't show the newly added entity (even context.Customers.Count() doesn't include it).

Is there any way to show these entities (those with EntityState = Added) ?

Thanks in advance.


I think you can get unsaved added entities by calling something like:

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

But just by reading your question, I'm affraid that you are trying to do something wrong. Why do you need to combine unsaved entities with retrieved? If you need to show unsaved content you should simply keep it in your own separate collection.


Look at the TryGetObjectStateEntry(EntityKey, ObjectStateEntry) method

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜