using Microsoft.EntityFrameworkCore;
using Microsoft.Data.SqlClient;
public static void Main()
using (var context = new EntityContext())
context.Database.EnsureCreated();
using (var context = new EntityContext())
context.Customers.Add(new Customer() { Name ="Customer_A", Status = CustomerStatus.IsActive, LastLogon = DateTime.Now.AddDays(-10) });
context.Customers.Add(new Customer() { Name ="Customer_B", Status = CustomerStatus.IsActive, LastLogon = DateTime.Now.AddDays(-50) });
context.Customers.Add(new Customer() { Name ="Customer_C", Status = CustomerStatus.IsDeleted, LastLogon = DateTime.Now.AddDays(-10) });
context.Customers.Add(new Customer() { Name ="Customer_D", Status = CustomerStatus.IsActive, LastLogon = DateTime.Now.AddDays(-15) });
using (var context = new EntityContext())
var customers = context.Customers.WhereDynamic(x => "x.Status == 0 && x.LastLogon >= DateTime.Now.AddMonths(-1)").ToList();
FiddleHelper.WriteTable(customers);
using (var context = new EntityContext())
var customers = context.Customers.WhereDynamic("x => x.Status == 0 && x.LastLogon >= DateTime.Now.AddMonths(-1)").ToList();
FiddleHelper.WriteTable(customers);
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 int CustomerID { get; set; }
public string Name { get; set; }
public CustomerStatus Status { get; set; }
public DateTime LastLogon { get; set; }
public enum CustomerStatus