Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. public JsonResult Get()
  2. {
  3. List<Owner> owners = new List<Owner>();
  4.  
  5. using (DatabaseContext dbContext = new DatabaseContext())
  6. {
  7. Owner owner1 = new Owner { Name = "Vik", PetsCount = 5 };
  8. Owner owner2 = new Owner { Name = "Viki", PetsCount = 7 };
  9.  
  10. dbContext.Owners.AddRange(new List<Owner> { owner1, owner2 });
  11. dbContext.SaveChanges();
  12.  
  13. Pet pet1 = new Pet { Name = "Snow", Owner = owner1 };
  14. Pet pet2 = new Pet { Name = "Chrismas", Owner = owner1 };
  15. Pet pet3 = new Pet { Name = "Mary", Owner = owner2 };
  16.  
  17. dbContext.Pets.AddRange(new List<Pet> { pet1, pet2, pet3 });
  18. dbContext.SaveChanges();
  19.  
  20. owners = dbContext.Owners.Include(p => p.Pets).ToList();
  21. }
  22.  
  23. var json = new JsonResult(owners);
  24.  
  25. return json;
  26. }
  27.  
  28. public class Pet
  29. {
  30. public int Id { get; set; }
  31. public string Name { get; set; }
  32.  
  33. public int OwnerId { get; set; }
  34. public virtual Owner Owner { get; set; }
  35. }
  36.  
  37. public class Owner
  38. {
  39. public int Id { get; set; }
  40. public string Name { get; set; }
  41. public int PetsCount { get; set; }
  42. public List<Pet> Pets { get; set; }
  43. public Owner()
  44. {
  45. Pets = new List<Pet>();
  46. }
  47. }
  48.  
  49. public class OwnerAndPets
  50. {
  51. public int Id { get; set; }
  52. public string OwnerName { get; set; }
  53. public int PetsCount { get; set; }
  54. public List<string> PetsNames { get; set; }
  55. }
  56.  
  57. ...
  58. List<OwnerAndPets> oap = dbContext.Owners.Include(p => p.Pets).Select(x => new OwnerAndPets
  59. {
  60. Id = x.Id,
  61. OwnerName = x.Name,
  62. PetsNames = x.Pets.Select(y => y.Name).ToList(),
  63. PetsCount = x.PetsCount
  64. }).ToList();
  65. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement