static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter3.patron"); } }
static void RunExample() { using (var context = new EFRecipesEntities()) { context.Patrons.AddObject(new Patron { Name = "Jill Roberts", SponsorType = (int)SponsorTypes.ContributesMoney }); context.Patrons.AddObject(new Patron { Name = "Ryan Keyes", SponsorType = (int)(SponsorTypes.ContributesMoney | SponsorTypes.IsABoardMember) }); context.Patrons.AddObject(new Patron { Name = "Karen Rosen", SponsorType = (int)SponsorTypes.Volunteers }); context.Patrons.AddObject(new Patron { Name = "Steven King", SponsorType = (int)(SponsorTypes.ContributesMoney | SponsorTypes.Volunteers) }); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { Console.WriteLine("Using LINQ..."); var sponsors = from p in context.Patrons where (p.SponsorType & (int)SponsorTypes.ContributesMoney) != 0 select p; Console.WriteLine("Patrons who contribute money"); foreach (var sponsor in sponsors) { Console.WriteLine("\t{0}", sponsor.Name); } } using (var context = new EFRecipesEntities()) { Console.WriteLine("\nUsing Entity SQL..."); var esql = @"select value p from Patrons as p where BitWiseAnd(p.SponsorType, @type) <> 0"; var sponsors = context.CreateQuery <Patron>(esql, new ObjectParameter("type", (int)SponsorTypes.ContributesMoney)); Console.WriteLine("Patrons who contribute money"); foreach (var sponsor in sponsors) { Console.WriteLine("\t{0}", sponsor.Name); } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }