3

私は次のようにテストコードを書きました:

Entities db = new Entities();

var place = new Place
                {
                    Id = Guid.NewGuid(),
                    Name = "test",
                    Address = "address"
                };

db.Places.Add(place);

var cachedPlace = db.Places.Where(x => x.Id == place.Id).FirstOrDefault(); \\ null

dbset が追加されたエンティティを返すことを期待していました。しかし、変更が実際のDBに保存された後にのみ、私は異議を唱えます。

4

1 に答える 1

3

保存されていないクエリにアクセスする場合は、DbSet の Local プロパティを使用します。

希望どおりに機能しない理由は、自動番号付けされた ID もサポートする必要があるためです。これは、ID が 0 であることを意味します。複数のレコードを挿入すると、同じ 0 ID を持つ複数のオブジェクトが作成されます。EF は、保存されるまで実際の ID が何であるかを知りません。

于 2012-11-14T15:49:54.210 に答える