using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore;
public static void Main()
using (var context = new EntityContext())
context.Database.EnsureCreated();
using (var context = new EntityContext())
var list = new List<Order>();
list.Add(new Order() { OrderDate = DateTime.Now, BillingAddress = new Address() { Street="140 Saint-Hubert", City="Laval"}, ShippingAddress = new Address() { Street="123 Somewhere", City="Quebec"}});
context.BulkInsert(list);
FiddleHelper.WriteTable("1 - Order + Complex Type", context.Orders.AsNoTracking().ToList());
public class EntityContext : DbContext
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
optionsBuilder.UseSqlServer(new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()));
base.OnConfiguring(optionsBuilder);
public DbSet<Order> Orders { get; set; }
public int OrderId { get; set; }
public DateTime OrderDate { get; set; }
public Address ShippingAddress { get; set; }
public Address BillingAddress { get; set; }
public string Street { get; set; }
public string City { get; set; }