Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using System.Data.Entity;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MySqlEFTest
- {
- public class Company
- {
- public int Id { get; set; }
- public virtual ICollection<Customer> Customers { get; set; }
- }
- public class Customer
- {
- [Key]
- public int Id { get; set; }
- [StringLength(50)]
- public string Name { get; set; }
- public virtual Company Company { get; set; }
- [ForeignKey("Company")]
- public int CompanyId { get; set; }
- public virtual ICollection<Order> Orders { get; set; }
- }
- public class Order
- {
- [Key]
- public int Id { get; set; }
- public virtual Customer Customer { get; set; }
- public virtual ICollection<Product> Products { get; set; }
- }
- public class OrdersContext : DbContext
- {
- public DbSet<Company> Companies { get; set; }
- public DbSet<Customer> Customers { get; set; }
- public DbSet<Order> Orders { get; set; }
- public DbSet<Product> Products { get; set; }
- }
- public class Product
- {
- [Key]
- public int Id { get; set; }
- [StringLength(50)]
- public string Name { get; set; }
- public virtual ICollection<Order> Orders { get; set; }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Saving customers");
- List<Customer> customers = new List<Customer>();
- List<Product> products = new List<Product>();
- Company company = new Company();
- customers.Add(new Customer()
- {
- Name = "Some name",
- Orders = new List<Order>()
- {
- new Order()
- {
- Products = new List<Product>()
- {
- new Product() {Name = "Device1" },
- new Product() {Name ="Device2" },
- new Product() {Name = "Device3" }
- }
- },
- new Order()
- {
- Products = new List<Product>()
- {
- new Product() {Name = "Device4" },
- new Product() {Name ="Device5" },
- new Product() {Name = "Device6" }
- }
- }
- }
- });
- customers.Add(new Customer()
- {
- Name = "Some other guy",
- Orders = new List<Order>()
- {
- new Order()
- {
- Products = new List<Product>()
- {
- new Product() {Name = "Device7" },
- new Product() {Name ="Device8" },
- new Product() {Name = "Device9" }
- }
- },
- new Order()
- {
- Products = new List<Product>()
- {
- new Product() {Name = "Device10" },
- new Product() {Name ="Device11" },
- new Product() {Name = "Device12" }
- }
- }
- }
- });
- using (OrdersContext context = new OrdersContext())
- {
- context.Companies.Add(company);
- context.SaveChanges();
- }
- using (OrdersContext context = new OrdersContext())
- {
- var customer = customers[0];
- customer.Company = company;
- context.Customers.Add(customer);
- int recordsSaved = context.SaveChanges();
- Console.WriteLine(String.Format("First customer saved {0} records", recordsSaved));
- }
- using (OrdersContext context = new OrdersContext())
- {
- var customer = customers[1];
- customer.Company = company;
- context.Customers.Add(customer);
- int recordsSaved = context.SaveChanges();
- Console.WriteLine(String.Format("Second customer saved {0} records", recordsSaved));
- }
- Console.WriteLine("Completed");
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement