using System.Data.Entity;
using System.Collections.Generic;
using Z.EntityFramework.Plus;
public static void Main()
using (var context = new EntityContext())
var futureCountries = context.Countries.Where(x => x.IsActive).Future();
var futureStates = context.States.Where(x => x.IsActive).Future();
var countries = futureCountries.ToList();
var states = futureStates.ToList();
FiddleHelper.WriteTable("After Filtering", states);
public static void GenerateData()
using (var context = new EntityContext())
context.Countries.Add(new Country() { Name = "US", IsActive = true });
context.Countries.Add(new Country() { Name = "Canada", IsActive = true });
context.Countries.Add(new Country() { Name = "Germany", IsActive = true });
context.States.Add(new State() { Name = "Alaska", IsActive = false, CountryId = 1 });
context.States.Add(new State() { Name = "Alberta", IsActive = true, CountryId = 2 });
context.States.Add(new State() { Name = "Berlin", IsActive = true, CountryId = 3 });
context.States.Add(new State() { Name = "Quebec", IsActive = true, CountryId = 2 });
context.States.Add(new State() { Name = "Hamburg", IsActive = false, CountryId = 3 });
context.States.Add(new State() { Name = "New Jersey", IsActive = true, CountryId = 1 });
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Country> Countries { get; set; }
public DbSet<State> States { get; set; }
public int CountryId { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
public List<State> States { get; set; }
public int StateId { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
public int CountryId { get; set; }