static void Main(string[] args) { Console.WriteLine("Beispielanwendung für Many-to-Many mit Dotnet Core und EF-Core"); using (var ctx = new ManyToManyContext()) { // Falls nötig, Teststudenten anlegen for (int i = 0; i < 100; i++) { if (ctx.Students.Where(s => s.StudentId == i).Count() == 0) { var s = new Student() { StudentId = i, Matrikelnummer = $"12345678{i}", Vorname = "Max", Nachname = "Mustermann" }; ctx.Students.Add(s); ctx.SaveChanges(); } } // Falls nötig, Testdozent anlegen if (ctx.Dozents.Where(d => d.DozentId == 1).Count() == 0) { var d = new Dozent() { DozentId = 1, Vorname = "Moritz", Nachname = "Musterlehrer" }; ctx.Dozents.Add(d); ctx.SaveChanges(); } var st = ctx.Students.Where(s => s.StudentId == 1).First(); var dz = ctx.Dozents.Where(d => d.DozentId == 1).First(); // Beziehung hinzufügen var bez = new Bekanntschaft() { Student = st, Dozent = dz }; if (st.Bekanntschaften == null) { st.Bekanntschaften = new List <Bekanntschaft>(); } if (dz.Bekanntschaften == null) { dz.Bekanntschaften = new List <Bekanntschaft>(); } st.Bekanntschaften.Add(bez); dz.Bekanntschaften.Add(bez); ctx.SaveChanges(); } }
static void Main(string[] args) { Database.SetInitializer(new DropCreateDatabaseAlways <ManyToManyContext>()); using (ManyToManyContext db = new ManyToManyContext()) { Product product1 = new Product { Name = "Колготки", Price = 15 }; Product product2 = new Product { Name = "Майка", Price = 20 }; Product product3 = new Product { Name = "Стринги", Price = 10 }; Product product4 = new Product { Name = "Ботинки", Price = 100 }; db.Products.AddRange(new List <Product> { product1, product2, product3, product4 }); db.SaveChanges(); Order order1 = new Order { Customer = "Иван", Quantety = 2 }; order1.Product.Add(product2); order1.Product.Add(product4); Order order2 = new Order { Customer = "Лена", Quantety = 1 }; order2.Product.Add(product1); order2.Product.Add(product3); Order order3 = new Order { Customer = "Мама", Quantety = 1 }; order3.Product.Add(product1); order3.Product.Add(product3); order3.Product.Add(product2); order3.Product.Add(product4); db.Orders.AddRange(new List <Order> { order1, order2, order3 }); db.SaveChanges(); foreach (var OrderItem in db.Orders.Include(p => p.Product)) { Console.WriteLine("{1}.{0}", OrderItem.Customer, OrderItem.Id); if (OrderItem.Product == null) { continue; } foreach (var prodItem in OrderItem.Product) { Console.WriteLine("Продукт:{0} \t {1}-({2})={3} ", prodItem.Name, prodItem.Price, OrderItem.Quantety, prodItem.Price * OrderItem.Quantety); } } } }