private static void Edit() { MasterModel masterModel; using (var context = new ProjectDbContext()) { masterModel = context.Masters .ProjectTo <MasterModel>() .AsNoTracking().Single(a => a.Id == 1); var detail1 = masterModel.Details.First(); detail1.Title = "Details-EditedTitle"; detail1.TrackingState = TrackingState.Modified; foreach (var detail in detail1.Details) { detail.TrackingState = TrackingState.Deleted; //detail.Title = "DetailOfDetails-EditedTitle"; } Console.WriteLine( "################ Unchanged Master and Modified Details and Deleted DetailsOfDetail ##################"); Print(masterModel); var masterEntity = Mapper.Map <Master>(masterModel); context.SaveAggregate(masterEntity); } }
private static void Create() { var masterModel = new MasterModel { Title = "Master-Title", TrackingState = TrackingState.Added, Details = new List <DetailModel> { new DetailModel { Title = "Detail-Title", TrackingState = TrackingState.Added, Details = new List <DetailOfDetailModel> { new DetailOfDetailModel { Title = "DetailOfDetail-Title", TrackingState = TrackingState.Added, } } } } }; Console.WriteLine("################ Create Master and Details and DetailsOfDetail ##################"); Print(masterModel); var masterEntity = Mapper.Map <Master>(masterModel); using (var context = new ProjectDbContext()) { context.SaveAggregate(masterEntity); } }