using System.Collections.Generic;
using System.Data.Entity;
using Z.EntityFramework.Plus;
public static void Main()
using (var context = new EntityContext())
context.Customers.Add(new Customer() { Name = "Foo", });
context.Customers.Add(new Customer() { Name = "Bar", });
context.Customers.Add(new Customer() { Name = "Baz", });
var queries = new List<object>()
var listsOfCustomers = new CustomerService()
.GetCustomersBulk(queries: queries);
FiddleHelper.WriteTable("Customers 1", listsOfCustomers.First());
FiddleHelper.WriteTable("Customers 2", listsOfCustomers.First());
public class CustomerService
private readonly EntityContext Context = new EntityContext();
private IQueryable<Customer> MakeQuery(object query)
return this.Context.Customers
public List<List<Customer>> GetCustomersBulk(List<object> queries)
var response = new List<List<Customer>>();
var futureQueries = new List<QueryFutureEnumerable<Customer>>();
foreach (var query in queries)
this.MakeQuery(query: query)
foreach (var futureQuery in futureQueries)
response.Add(futureQuery.ToList());
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Customer> Customers { get; set; }
public int id { get; set; }
public string Name { get; set; }