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);
                    }
                }
            }
        }