using System.Collections.Generic;
using System.Data.Entity;
using System.Linq.Dynamic.Core;
public static void Main()
var context = new EntityContext();
var usersWhoHaveAdminRole = context.Users.Where("Roles.Any(Name.Contains(@0))", "Admin");
FiddleHelper.WriteTable(usersWhoHaveAdminRole);
public static void GenerateData()
var managerRole = new Role
var users = new List<User>
new User { Name = "Jack", Roles = new List<Role> { managerRole } },
new User { Name = "Mike", Roles = new List<Role> { managerRole, adminRole } }
using (var context = new EntityContext())
context.Users.AddRange(users);
context.BulkSaveChanges();
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Order> Orders { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public int Id { get; set; }
public int Amount { get; set; }
public double Price { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public string CompanyName { get; set; }
public string City { get; set; }
public string Phone { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Role> Roles { get; set; }
public int Id { get; set; }
public string Name { get; set; }