using System.Data.Entity;
using System.Collections.Generic;
public static void Main()
List<Invoice> list = new List<Invoice>()
Description = "Invoice_A",
InvoiceItems = new List<InvoiceItem>()
new InvoiceItem() { Description = "Invoice_A_InvoiceItem_A" } ,
new InvoiceItem() { Description = "Invoice_A_InvoiceItem_B" }
Description = "Invoice_B",
InvoiceItems = new List<InvoiceItem>()
new InvoiceItem() { Description = "Invoice_B_InvoiceItem_A" } ,
new InvoiceItem() { Description = "Invoice_B_InvoiceItem_B" }
using (var context = new EntityContext())
context.BulkInsert(list, options => options.IncludeGraph = true);
using (var context = new EntityContext())
FiddleHelper.WriteTable(context.Invoices.ToList().Select(x => new { x.InvoiceID, x.Description}));
FiddleHelper.WriteTable(context.InvoiceItems.ToList());
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Invoice> Invoices { get; set; }
public DbSet<InvoiceItem> InvoiceItems { get; set; }
public int InvoiceID { get; set; }
public string Description { get; set; }
public List<InvoiceItem> InvoiceItems { get; set; }
public int InvoiceItemID { get; set; }
public string Description { get; set; }