using Z.EntityFramework.Plus;
using Microsoft.EntityFrameworkCore;
using Microsoft.Data.SqlClient;
public static void Main()
using (var context = new EntityContext())
context.Database.EnsureCreated();
using (var context = new EntityContext())
FiddleHelper.WriteTable(context.Customers.OrderByDescending(x => "x.Partner.Name").ToList());
FiddleHelper.WriteTable(context.Customers.WhereDynamic(x => "x.Name ==y", new {y = "Customer_A"}).ToList());
public static void GenerateData()
using (var context = new EntityContext())
var partnerA = new Partner(){ Name = "Partner_A" };
var partnerB = new Partner(){ Name = "Partner_B" };
context.Partners.Add(partnerA);
context.Partners.Add(partnerB);
context.Customers.Add(new Customer() { Name ="Customer_A", IsActive = false, Partner = partnerA });
context.Customers.Add(new Customer() { Name ="Customer_B", IsActive = true, Partner = partnerB });
context.Customers.Add(new Customer() { Name ="Customer_C", IsActive = false, Partner = partnerA });
public class EntityContext : DbContext
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
optionsBuilder.UseSqlServer(new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()));
base.OnConfiguring(optionsBuilder);
public DbSet<Customer> Customers { get; set; }
public DbSet<Partner> Partners { get; set; }
public int CustomerID { get; set; }
public string Name { get; set; }
public Boolean IsActive { get; set; }
public Partner Partner { get; set; }
public int PartnerId { get; set; }
public string Name { get; set; }