static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter3.organization"); } }
static void RunExample() { using (var context = new EFRecipesEntities()) { var wo1 = new WorkOrder { RequestDate = DateTime.Parse("11/04/09"), Problem = "Printer needs paper in shipping.", IsPriority = false }; var wo2 = new WorkOrder { RequestDate = DateTime.Parse("11/04/09"), Problem = "Main site database server is down!", IsPriority = true }; var wo3 = new WorkOrder { RequestDate = DateTime.Parse("11/04/09"), Problem = "Backup job complete, remove tape.", IsPriority = false }; context.WorkOrders.AddObject(wo1); context.WorkOrders.AddObject(wo2); context.WorkOrders.AddObject(wo3); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { Console.WriteLine("Work Orders"); Console.WriteLine("==========="); foreach (var wo in context.WorkOrders) { Console.WriteLine("{0}\t{1}\t{2}", wo.RequestDate.ToShortDateString(), wo.Problem, wo.IsPriority ? "High" : "Normal"); } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void RunExample() { using (var context = new EFRecipesEntities()) { var resume = new XElement("Person", new XElement("Name", "Robin St.James"), new XElement("Phone", "817 867-5201"), new XElement("FirstOffice", "Dog Catcher"), new XElement("SecondOffice", "Mayor"), new XElement("ThirdOffice", "State Senator")); var can = new Candidate { Name = "Robin St.James", CandidateResume = resume }; context.Candidates.AddObject(can); context.SaveChanges(); can.CandidateResume.SetElementValue("Phone", "817 555-5555"); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { foreach (var can in context.Candidates) { Console.WriteLine("{0}", can.Name); Console.WriteLine("Phone: {0}", can.CandidateResume.Element("Phone").Value); Console.WriteLine("First Political Office: {0}", can.CandidateResume.Element("FirstOffice").Value); Console.WriteLine("Second Political Office: {0}", can.CandidateResume.Element("SecondOffice").Value); Console.WriteLine("Third Political Office: {0}", can.CandidateResume.Element("ThirdOffice").Value); } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter10.product"); } }
static void RunExample() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand(@"insert into chapter6.toy (Name,ForDonationOnly) values ('RagDoll',1)"); var toy = new Toy { Name = "Fuzzy Bear", Price = 9.97M }; var refurb = new RefurbishedToy { Name = "Derby Car", Price = 19.99M, Quality = "Ok to sell" }; context.Toys.AddObject(toy); context.Toys.AddObject(refurb); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { Console.WriteLine("All Toys"); Console.WriteLine("========"); foreach (var toy in context.Toys) { Console.WriteLine("{0}", toy.Name); } Console.WriteLine("\nRefurbished Toys"); foreach (var toy in context.Toys.OfType <RefurbishedToy>()) { Console.WriteLine("{0}, Price = {1}, Quality = {2}", toy.Name, toy.Price, ((RefurbishedToy)toy).Quality); } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void RunExample() { using (var context = new EFRecipesEntities()) { var cust1 = new Customer { Name = "Robin Rosen", City = "Raytown" }; var card1 = new CreditCard { CardNumber = "41949494338899", ExpirationDate = DateTime.Parse("12/2010"), Type = "Visa" }; var trans1 = new Transaction { Amount = 29.95M }; card1.Transactions.Add(trans1); cust1.CreditCards.Add(card1); var cust2 = new Customer { Name = "Bill Meyers", City = "Raytown" }; var card2 = new CreditCard { CardNumber = "41238389484448", ExpirationDate = DateTime.Parse("12/2013"), Type = "Visa" }; var trans2 = new Transaction { Amount = 83.39M }; card2.Transactions.Add(trans2); cust2.CreditCards.Add(card2); context.Customers.AddObject(cust1); context.Customers.AddObject(cust2); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { var customers = context.Customers.Where(c => c.City == "Raytown"); var creditCards = customers.SelectMany(c => c.CreditCards); var transactions = creditCards.SelectMany(cr => cr.Transactions); // execute queries, EF fixes up associations customers.ToList(); creditCards.ToList(); transactions.ToList(); foreach (var customer in customers) { Console.WriteLine("Customer: {0} in {1}", customer.Name, customer.City); foreach (var creditCard in customer.CreditCards) { Console.WriteLine("\tCard: {0} expires on {1}", creditCard.CardNumber, creditCard.ExpirationDate.ToShortDateString()); foreach (var trans in creditCard.Transactions) { Console.WriteLine("\t\tTransaction: {0}", trans.Amount.ToString("C")); } } } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.Database.ExecuteSqlCommand("delete from chapter13.track"); context.Database.ExecuteSqlCommand("delete from chapter13.cd"); } }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter11.webcustomer"); context.ExecuteStoreCommand("delete from chapter11.zip"); } }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter6.refurbishedtoy"); context.ExecuteStoreCommand("delete from chapter6.toy"); } }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter15.workorder"); context.ExecuteStoreCommand("delete from chapter15.priorityworkorder"); } }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter5.movie"); context.ExecuteStoreCommand("delete from chapter5.category"); } }
static void Cleanup() { using (var context = new EFRecipesEntities()) { context.ExecuteStoreCommand("delete from chapter13.[transaction]"); context.ExecuteStoreCommand("delete from chapter13.creditcard"); context.ExecuteStoreCommand("delete from chapter13.customer"); } }
static void RunExample() { using (var context = new EFRecipesEntities()) { var cat1 = new Category { Name = "Science Fiction", ReleaseType = "DVD" }; var cat2 = new Category { Name = "Thriller", ReleaseType = "Blu-Ray" }; new Movie { Name = "Return to the Moon", Category = cat1, Rating = "PG-13" }; new Movie { Name = "Street Smarts", Category = cat2, Rating = "PG-13" }; new Movie { Name = "Alien Revenge", Category = cat1, Rating = "R" }; new Movie { Name = "Saturday Nights", Category = cat1, Rating = "PG-13" }; context.Categories.AddObject(cat1); context.Categories.AddObject(cat2); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { // filter on ReleaseType and Rating // create collection of anonymous types var cats = from c in context.Categories where c.ReleaseType == "DVD" select new { category = c, movies = c.Movies.Where(m => m.Rating == "PG-13") }; Console.WriteLine("PG-13 Movies Released on DVD"); Console.WriteLine("============================"); foreach (var c in cats) { Category category = c.category; Console.WriteLine("Category: {0}", category.Name); foreach (var m in category.Movies) { Console.WriteLine("\tMovie: {0}", m.Name); } } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void RunExample() { using (var context = new EFRecipesEntities()) { var cd1 = context.CDs.Create <CD>(); cd1.Title = "Abbey Road"; cd1.Tracks.Add(new Track { Title = "Come Together", Artist = "The Beatles" }); var cd2 = context.CDs.Create <CD>(); cd2.Title = "Cowboy Town"; cd2.Tracks.Add(new Track { Title = "Cowgirls Don't Cry", Artist = "Brooks & Dunn" }); var cd3 = context.CDs.Create <CD>(); cd3.Title = "Long Black Train"; cd3.Tracks.Add(new Track { Title = "In My Dreams", Artist = "Josh Turner" }); cd3.Tracks.Add(new Track { Title = "Jacksonville", Artist = "Josh Turner" }); context.CDs.Add(cd1); context.CDs.Add(cd2); context.CDs.Add(cd3); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { // to trigger proxy generation we need to drop-down into the underlying // ObjectContext object as DbContext does not expose the CreateProxyTypes() method var objectContext = ((IObjectContextAdapter)context).ObjectContext; objectContext.CreateProxyTypes(new Type[] { typeof(CD), typeof(Track) }); var proxyTypes = ObjectContext.GetKnownProxyTypes(); Console.WriteLine("{0} proxies generated!", ObjectContext.GetKnownProxyTypes().Count()); var cds = context.CDs.Include("Tracks"); foreach (var cd in cds) { Console.WriteLine("Album: {0}", cd.Title); foreach (var track in cd.Tracks) { Console.WriteLine("\t{0} by {1}", track.Title, track.Artist); } } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void RunExample() { using (var context = new EFRecipesEntities()) { var book1 = new Book { Title = "A Day in the Life", Publisher = "Colorful Press" }; var book2 = new Book { Title = "Spring in October", Publisher = "AnimalCover Press" }; var dvd1 = new DVD { Title = "Saving Sergeant Pepper", Rating = "G" }; var dvd2 = new DVD { Title = "Around The Block", Rating = "PG-13" }; context.Products.AddObject(book1); context.Products.AddObject(book2); context.Products.AddObject(dvd1); context.Products.AddObject(dvd2); context.SaveChanges(); // update a book and delete a dvd book1.Title = "A Day in the Life of Sergeant Pepper"; context.DeleteObject(dvd2); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { Console.WriteLine("All Products"); Console.WriteLine("============"); foreach (var product in context.Products) { if (product is Book) { Console.WriteLine("'{0}' published by {1}", product.Title, ((Book)product).Publisher); } else if (product is DVD) { Console.WriteLine("'{0}' is rated {1}", product.Title, ((DVD)product).Rating); } } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void RunExample() { using (var context = new EFRecipesEntities()) { var fte = new FullTimeEmployee { FirstName = "Jane", LastName = "Doe", Salary = 71500M }; context.Employees.AddObject(fte); fte = new FullTimeEmployee { FirstName = "John", LastName = "Smith", Salary = 62500M }; context.Employees.AddObject(fte); var hourly = new HourlyEmployee { FirstName = "Tom", LastName = "Jones", Wage = 8.75M }; context.Employees.AddObject(hourly); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { Console.WriteLine("--- All Employees ---"); foreach (var emp in context.Employees) { bool fullTime = emp is HourlyEmployee ? false : true; Console.WriteLine("{0} {1} ({2})", emp.FirstName, emp.LastName, fullTime ? "Full Time" : "Hourly"); } Console.WriteLine("--- Full Time ---"); foreach (var fte in context.Employees.OfType <FullTimeEmployee>()) { Console.WriteLine("{0} {1}", fte.FirstName, fte.LastName); } Console.WriteLine("--- Hourly ---"); foreach (var hourly in context.Employees.OfType <HourlyEmployee>()) { Console.WriteLine("{0} {1}", hourly.FirstName, hourly.LastName); } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }
static void RunExample() { using (var context = new EFRecipesEntities()) { var o1 = new Organization { Name = "ABC Electric", City = "Azle", State = "TX" }; var o2 = new Organization { Name = "PowWow Pests", City = "Miami", State = "FL" }; var o3 = new Organization { Name = "Grover Grass & Seed", City = "Fort Worth", State = "TX" }; context.Organizations.AddObject(o1); context.Organizations.AddObject(o2); context.Organizations.AddObject(o3); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { var query = context.Organizations.Where("it.State = 'TX'"); Console.WriteLine("Cities (using LINQ)"); var cities = query.Select(o => o.City).Distinct().OrderBy(c => c); foreach (var city in cities) { Console.WriteLine("{0}", city); } Console.WriteLine("Cities (using eSQL)"); cities = query.SelectValue <string>("distinct it.City").OrderBy("it"); foreach (var city in cities) { Console.WriteLine("{0}", city); } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); } }
static void RunExample() { using (var context = new EFRecipesEntities()) { var c1 = new WebCustomer { Name = "Alex Stevens", Zip = "76039" }; var c2 = new WebCustomer { Name = "Janis Jones", Zip = "76040" }; var c3 = new WebCustomer { Name = "Cathy Robins", Zip = "76111" }; context.Zips.AddObject(new Zip { Latitude = 32.834298M, Longitude = -32.834298M, ZipCode = "76039" }); context.Zips.AddObject(new Zip { Latitude = 32.835298M, Longitude = -32.834798M, ZipCode = "76040" }); context.Zips.AddObject(new Zip { Latitude = 33.834298M, Longitude = -31.834298M, ZipCode = "76111" }); context.WebCustomers.AddObject(c1); context.WebCustomers.AddObject(c2); context.WebCustomers.AddObject(c3); context.SaveChanges(); } using (var context = new EFRecipesEntities()) { string esql = @"select value c from EFRecipesEntities.WebCustomers as c join (SELECT z.ZipCode, 3958.75 * (SqlServer.Atan(SqlServer.Sqrt(1 - SqlServer.power(((SqlServer.Sin(t2.Latitude/57.2958M) * SqlServer.Sin(z.Latitude/57.2958M)) + (SqlServer.Cos(t2.Latitude/57.2958M) * SqlServer.Cos(z.Latitude/57.2958M) * SqlServer.Cos((z.Longitude/57.2958M) -(t2.Longitude/57.2958M)))), 2)) /( ((SqlServer.Sin(t2.Latitude/57.2958M) * SqlServer.Sin(z.Latitude/57.2958M)) + (SqlServer.Cos(t2.Latitude/57.2958M) * SqlServer.Cos(z.Latitude/57.2958M) * SqlServer.Cos((z.Longitude/57.2958M) - (t2.Longitude/57.2958M)))))) ) as DistanceInMiles FROM EFRecipesEntities.Zips AS z join (select top(1) z2.Latitude as Latitude,z2.Longitude as Longitude from EFRecipesEntities.Zips as z2 where z2.ZipCode = @Zip ) as t2 on 1 = 1 ) as matchingzips on matchingzips.ZipCode = c.Zip where matchingzips.DistanceInMiles <= @RadiusInMiles"; var custs = context.CreateQuery <WebCustomer>(esql, new ObjectParameter("Zip", "76039"), new ObjectParameter("RadiusInMiles", 5)); Console.WriteLine("Customers within 5 miles of 76039"); foreach (var cust in custs) { Console.WriteLine("Customer: {0}", cust.Name); } } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }