public class Book { public int Id { get; set; } public string Title { get; set; } public virtual Encyclopedia Encyclopedia { get; set; } } public class Encyclopedia { public int Id { get; set; } public string Name { get; set; } public string Publisher { get; set; } public List<Book> Books { get; set; } }
//Controller public static void UpdateEncyclopedia(Encyclopedia encyclopedia) { using (var context = new LibraryContext()) { var encicloRepo = new EncyclopediaRepository(context); encicloRepo.UpdateEncyclopedia(encyclopedia); encicloRepo.Save(); } } //Repository public void UpdateEncyclopedia(Encyclopedia en) { _context.Encyclopedies.Attach(en); foreach (Book book in en.Books) { _context.Books.Attach(book); var b = _context.Entry(book); b.State = EntityState.Modified; } var entry = _context.Entry(en); entry.State = EntityState.Modified; }
private void butUpdateBooks_Click(object sender, RoutedEventArgs e) { Encyclopedia en = lstEncyclopedia.SelectedItem as Encyclopedia; //Encyclopedia get = EncyclopediaController.ReadEncyclopediaByPrimaryKey(en.Id); if (en == null) MessageBox.Show("Seleziona una enciclopedia", "Attenzione!"); else { if (MessageBox.Show("Aggiornare i libri dell'enciclopedia"+en.Name+"?", "Attenzione!", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { foreach (Book b in ViewModel.Books) { if (!en.Books.Contains(b)) en.Books.Add(b); } EncyclopediaController.UpdateEncyclopedia(en); } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)