9

メソッド ToList を持つ Entity Framework ObjectSet は、保存されたエンティティのみを表示します。つまり、私が電話するとき

context.AddToCustomers(myNewCust);

次に (SaveChanges を呼び出さずに)

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

DataGrid には、新しく追加されたエンティティが表示されcontext.Customers.Count()ません (含まれていません)。

これらのエンティティ ( を持つものEntityState = Added) を表示する方法はありますか?

前もって感謝します。

4

2 に答える 2

9

次のようなものを呼び出すことで、保存されていない追加エンティティを取得できると思います。

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

しかし、あなたの質問を読んだだけで、あなたが何か間違ったことをしようとしていることを恐れています. 保存されていないエンティティと取得済みのエンティティを組み合わせる必要があるのはなぜですか? 保存されていないコンテンツを表示する必要がある場合は、それを独自の別のコレクションに保管する必要があります。

于 2011-03-28T08:23:48.813 に答える
2

TryGetObjectStateEntry(EntityKey, ObjectStateEntry) メソッドを見てください。

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

于 2011-03-28T08:10:53.247 に答える