public static void Main(string[] args) { var json = File.ReadAllText("../../contacts.json"); var contactsDto = JsonConvert.DeserializeObject<List<ContactDTO>>(json); var context = new PhonebookContext(); foreach (var contactDto in contactsDto) { try { var contact = new Contact(); if (contactDto.Name != null) { contact.Name = contactDto.Name; } else { contact.Name = contactDto.FirstName + " " + contactDto.LastName; } if (string.IsNullOrWhiteSpace(contact.Name)) { throw new Exception("Name is required"); } contact.Notes = contactDto.Notes; contact.Position = contactDto.Position; contact.Company = contactDto.Company; contact.Site = contactDto.Site; var emails = new List<Email>(); foreach (var email in contactDto.Emails) { emails.Add(new Email() { EmailAddress = email }); } var phones = new List<Phone>(); foreach (var phone in contactDto.Phones) { phones.Add(new Phone() { PhoneNumber = phone }); } contact.Phones = phones; contact.Emails = emails; context.Contacts.Add(contact); context.SaveChanges(); Console.WriteLine("Contact {0} imported", contact.Name); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } }
public static void Main(string[] args) { var context = new PhonebookContext(); var contacts = context.Contacts.Include("Emails").Include("Phones"); foreach (var contact in contacts) { Console.WriteLine(contact.Name); foreach (var email in contact.Emails) { Console.WriteLine(" " + email.EmailAddress); } foreach (var phone in contact.Phones) { Console.WriteLine(" " + phone.PhoneNumber); } } }