public void LoadPersonNamesFromXML(XDocument xdoc)
 {
   var pnames = ReadPersonNamesFromXML(xdoc);
   PersonNames.AddRange(pnames.Where(w => !PersonNames.Any(a => a.Name == w.Name)));
   SaveChanges();
 }
 /// <summary>
 /// Загружает коллекцию объектов <see cref="PersonName"/>, созданную 
 /// из определений частей имен, найденных в xml-файле по указанному пути,
 /// и сохраняет ее в базу данных.
 /// </summary>
 /// <param name="xmlpath">Путь к xml-файлу, содержащему определения частей имен.</param>
 public void LoadPersonNamesFromXML(string xmlpath)
 {
   var pnames = ReadPersonNamesFromXML(xmlpath);
   PersonNames.AddRange(pnames.Where(w => !PersonNames.Any(a => a.Name == w.Name)));
   SaveChanges();
 }