2017-08-29 6 views
0

私はSQLデータベースからオブジェクトをフェッチするためにEFCore 2.0を使用しています。このオブジェクトには、他のオブジェクトのコレクションが含まれています。EFCore Collection ChangeTracking

var myRequestHistory =_dbContext.EmployeeRequestHistories.Include(x => x.Requests).FirstAsync(x => x.EmployeeId == employeeId); 

私は後でリクエストコレクションに項目を追加している:

myRequestHistory.Requests.Add(new Request()); 

は私が変更された項目のリストを取得する必要があり

私はこのようなオブジェクトを取得しています私はコレクションにオブジェクトを追加したにもかかわらず、dbContextから、myRequestHistoryは変更を表示していません。

var changedEntities = _dbContext.ChangeTracker.Entries<EmployeeRequestHistory>() 
     .Where(x => x.State == EntityState.Added || x.State == EntityState.Deleted || x.State == EntityState.Modified).Select(x => x.Entity).ToList(); 

私の更新されたオブジェクトがチェンジトラッカーに表示されないのはなぜですか?

答えて

0

EmployeeRequestHistoriesのいずれも追加、更新、削除していません。 あなたは何をしましたか?Requestsテーブルに新しいレコードを追加しました。その後、EmployeeRequestHistoriesテーブルのレコードは変更されませんでした。

するvar changedEntitiesの=の_dbContext.ChangeTracker.Entries

あなたはEmployeeRequestHistoryでフィルタリングしている - 理由という。リクエストで簡単にフィルタリングする