using System; using System.Collections.Generic; using System.Data.Objects.DataClasses; using System.Linq; using System.Text; namespace TestEntityFramework { public class Program { static void Main(string[] args) { using (Test2Entities context = new Test2Entities()) { DeleteAllData(); Car c1 = new Car { CarName = "Volvo" }; Car c2 = new Car { CarName = "Fiat" }; Car c3 = new Car { CarName = "Lada" }; context.AddToCars(c1); context.AddToCars(c2); context.AddToCars(c3); context.SaveChanges(); User u1 = new User { FirstName = "Donald", LastName = "Duck", UserName = "dduck" }; User u2 = new User { FirstName = "Dolly", LastName = "Duck", UserName = "dollyduck" }; User u3 = new User { FirstName = "Huye", LastName = "Duck", UserName = "hduck" }; context.AddToUsers(u1); context.AddToUsers(u2); context.AddToUsers(u3); context.SaveChanges(); FleetCard ca1 = new FleetCard { FleetCardName = "Visa" }; FleetCard ca2 = new FleetCard { FleetCardName = "Mastercard" }; FleetCard ca3 = new FleetCard { FleetCardName = "American Express" }; context.AddToFleetCards(ca1); context.AddToFleetCards(ca2); context.AddToFleetCards(ca3); context.SaveChanges(); Address a1 = new Address { Address1 = "Hove Blvd", AddressName = "VIP" }; Address a2 = new Address { Address1 = "Kongensgate", AddressName = "Konge" }; Address a3 = new Address { Address1 = "Perth St", AddressName = "Perth" }; context.AddToAddresses(a1); context.AddToAddresses(a2); context.AddToAddresses(a3); context.SaveChanges(); List s1 = (from x in context.Users where x.UserName == "dduck" select x).ToList(); List
s2 = (from x in context.Addresses where x.AddressName == "VIP" select x).ToList(); if (s1 != null && s2 != null && s1.Count > 0 && s2.Count > 0) { UserAddress ua1 = new UserAddress(); ua1.UserId = s1[0].UserId; ua1.AddressId = s2[0].AddressId; context.AddToUserAddresses(ua1); context.SaveChanges(); } s1 = (from x in context.Users where x.UserName == "hduck" select x).ToList(); s2 = (from x in context.Addresses where x.AddressName == "Konge" select x).ToList(); if (s1 != null && s2 != null && s1.Count > 0 && s2.Count > 0) { UserAddress ua1 = new UserAddress(); ua1.UserId = s1[0].UserId; ua1.AddressId = s2[0].AddressId; context.AddToUserAddresses(ua1); context.SaveChanges(); } List foundUser = (from x in context.Users where x.UserName == "hduck" select x).ToList(); List foundCard = (from x in context.FleetCards where x.FleetCardName == "Visa" select x).ToList(); List foundCar = (from x in context.Cars where x.CarName == "Volvo" select x).ToList(); if (foundUser != null && foundCard != null && foundCar != null && foundUser.Count > 0 && foundCar.Count > 0 && foundCard.Count > 0) { UserFleetCard ufc = new UserFleetCard { Car = foundCar[0], FleetCard = foundCard[0], User = foundUser[0] }; context.AddToUserFleetCards(ufc); context.SaveChanges(); } List cards = (from x in context.UserFleetCards.Include("User") select x).ToList(); foreach (UserFleetCard ufcc in cards) { System.Console.WriteLine("UserFleetCard {0}:{1}:{2}:{3}", ufcc.UsersFleetCarId, ufcc.UserId, ufcc.CarId, ufcc.FleetCardId); System.Console.WriteLine("Card: {0}", ufcc.FleetCard.FleetCardName); System.Console.WriteLine("User: {0}", ufcc.User.UserName); System.Console.WriteLine("Car: {0}", ufcc.Car.CarName); } System.Console.ReadLine(); DeleteAllData(); } } public static void DeleteAllData() { using (Test2Entities context = new Test2Entities()) { DeleteAllGeneric("userfleetcards"); DeleteAllGeneric("useraddress"); DeleteAllGeneric("users"); DeleteAllGeneric("address"); DeleteAllGeneric("cars"); DeleteAllGeneric("fleetcard"); } } public static void DeleteWithEF() { using (Test2Entities context = new Test2Entities()) { List cars = (from x in context.Cars select x).ToList(); cars.ForEach(x => context.Cars.DeleteObject(x)); context.SaveChanges(); } } public static void DeleteAllGeneric(string tableName) { string sql = "Delete from " + tableName; using (Test2Entities context = new Test2Entities()) { context.ExecuteStoreCommand(sql); } } } }