Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 14th, 2012  |  syntax: None  |  size: 6.36 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Lambda Expressions and Entity Framework, how to get the reference to an object created in another method
  2. public class DevelopmentInitializer
  3.     {
  4.         /// <summary>
  5.         /// This class allows the database tables to be created and seed at runtime.
  6.         /// </summary>
  7.         public class AskAndTrackInitializer : DropCreateDatabaseAlways<AskAndTrackContext>
  8.         {
  9.             /// <summary>
  10.             /// This fills the database with sample data to start with
  11.             /// </summary>
  12.             /// <param name="context">DBContext required for the connection</param>
  13.             protected override void Seed(AskAndTrackContext context)
  14.             {
  15.                 BuildDealers(context);
  16.                 BuildRequesters(context);
  17.                 BuildAddresses(context);
  18.                 BuildCustomers(context);
  19.                 BuildVehicles(context);
  20.  
  21.                 BuildWorkflowsBase(context);
  22.             }
  23.  
  24.             private void BuildDealers(AskAndTrackContext context)
  25.             {
  26.                 var dealer1 = new Dealer {DealerId = 1, Name = "Dealer 1"};
  27.                 var dealer2 = new Dealer { DealerId = 2, Name = "Dealer 2" };
  28.                 var dealer3 = new Dealer { DealerId = 3, Name = "Dealer 3" };
  29.                 var dealer4 = new Dealer { DealerId = 4, Name = "Dealer 4" };
  30.                 var dealer5 = new Dealer { DealerId = 5, Name = "Dealer 5" };
  31.  
  32.                 context.Dealers.Add(dealer1);
  33.                 context.Dealers.Add(dealer2);
  34.                 context.Dealers.Add(dealer3);
  35.                 context.Dealers.Add(dealer4);
  36.                 context.Dealers.Add(dealer5);
  37.  
  38.             }
  39.  
  40.             /// <summary>
  41.             /// Requesters test data
  42.             /// </summary>
  43.             private void BuildRequesters(AskAndTrackContext context)
  44.             {
  45.                 var requester1 = new Requester {EmailAddress = "le.xx@hotmail.com", Name="Andres x", RequesterId=1};
  46.                 var requester2 = new Requester { EmailAddress = "le.xxx@hotmail.com", Name = "Andres y", RequesterId = 2 };
  47.                 var requester3 = new Requester { EmailAddress = "le.yyy@hotmail.com", Name = "Juan l", RequesterId = 3 };
  48.                 var requester4 = new Requester { EmailAddress = "le.zzzz@hotmail.com", Name = "Peter x", RequesterId = 4 };
  49.                 var requester5 = new Requester { EmailAddress = "le.aaaa@hotmail.com", Name = "Patrick z", RequesterId = 5 };
  50.  
  51.                 context.Requesters.Add(requester1);
  52.                 context.Requesters.Add(requester2);
  53.                 context.Requesters.Add(requester3);
  54.                 context.Requesters.Add(requester4);
  55.                 context.Requesters.Add(requester5);
  56.  
  57.             }
  58.  
  59.             /// <summary>
  60.             /// Workflow base test data and its related objects
  61.             /// </summary>
  62.             private void BuildWorkflowsBase(AskAndTrackContext context)
  63.             {
  64.  
  65.             }
  66.  
  67.             /// <summary>
  68.             /// Vehicle test data
  69.             /// </summary>
  70.             private void BuildVehicles(AskAndTrackContext context)
  71.             {
  72.                 //var vehicle1
  73.             }
  74.  
  75.             /// <summary>
  76.             /// Customers test data
  77.             /// </summary>
  78.             private void BuildCustomers(AskAndTrackContext context)
  79.             {
  80.                 //var customer1 = new Customer{Address = ???
  81.  
  82.  
  83.             }
  84.  
  85.             private void BuildAddresses(AskAndTrackContext context)
  86.             {
  87.                 var address1 = new Address
  88.                                     {
  89.                                         AddressId = 1,
  90.                                         Box = "71",
  91.                                         City = "Antwerp",
  92.                                         Number = "1",
  93.                                         Street = "Belgielei",
  94.                                         Zip = "2018"
  95.                                     };
  96.  
  97.                 var address2 = new Address
  98.                                     {
  99.                                         AddressId = 2,
  100.                                         Box = "21",
  101.                                         City = "Antwerp",
  102.                                         Number = "1",
  103.                                         Street = "Lange Leemstraat",
  104.                                         Zip = "2018"
  105.                                     };
  106.  
  107.                 var address3 = new Address
  108.                                     {
  109.                                         AddressId = 3,
  110.                                         Box = "23",
  111.                                         City = "Antwerp",
  112.                                         Number = "1",
  113.                                         Street = "Lamoriniestraat",
  114.                                         Zip = "2018"
  115.                                     };
  116.  
  117.                 var address4 = new Address
  118.                                     {
  119.                                         AddressId = 4,
  120.                                         Box = "24",
  121.                                         City = "Antwerp",
  122.                                         Number = "1",
  123.                                         Street = "De Keyserlei",
  124.                                         Zip = "2000"
  125.                                     };
  126.  
  127.                 var address5 = new Address
  128.                                     {
  129.                                         AddressId = 5,
  130.                                         Box = "34",
  131.                                         City = "Antwerp",
  132.                                         Number = "1",
  133.                                         Street = "Italialei",
  134.                                         Zip = "2020"
  135.                                     };
  136.  
  137.                 context.Addresses.Add(address1);
  138.                 context.Addresses.Add(address2);
  139.                 context.Addresses.Add(address3);
  140.                 context.Addresses.Add(address4);
  141.                 context.Addresses.Add(address5);
  142.  
  143.             }
  144.         }
  145.        
  146. public List<ChildeEntity> ChildEntities { get; set; }
  147.        
  148. var newChild = new ChildEntity();
  149.        
  150. parentEntity.ChildEntities.Add(newChild);
  151.        
  152. private void BuildAddresses(AskAndTrackContext context)
  153. {
  154.     var listAddress = new List<Address>();
  155.     // create adresses, populate listAdress with the Address objects.
  156.     BuildCustomers(AskAndTrackContext context, listAddress);
  157. }
  158.        
  159. List<Address> addresses = BuildAddresses(context);
  160. BuildCustomers(context, addresses);