using System.Collections.Generic;
using System.Data.Entity;
using Z.EntityFramework.Plus;
public static void Main()
using (var context = new EntityContext())
var query = context.Invoices.IncludeFilter(x => x.InvoiceItems.Take(10));
FiddleHelper.WriteTable("InvoiceItems", query.ToList().SelectMany( x => x.InvoiceItems));
public static void GenerateData()
List<Invoice> list = new List<Invoice>() {
new Invoice() { Description = "Invoice_A", InvoiceItems = new List<InvoiceItem>() }
for (int i = 0; i < 20; i++)
list.First().InvoiceItems.Add( new InvoiceItem() { Description = "InvoiceItem_" + i });
using (var context = new EntityContext())
context.BulkInsert(list, options => options.IncludeGraph = true);
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; }