Entity Framework виртуальных ICollections - PullRequest
0 голосов
/ 25 сентября 2018

Я новичок в .NET Core Entity Framework (сначала код), но делаю ежедневно.Я застрял на, вероятно, небольшой ошибке и не могу продолжать.

У меня есть список классов, который я пытаюсь заполнить, и там есть виртуальный ICollection из другого списка, который нужно заполнитьв то же время.

Это мои классы

    public class UgInfo
    {
        public Guid UserGroupId { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public virtual ICollection<UInfo> UInfo { get; set; }
    }

    public class UInfo
    {
        public string UserEmail { get; set; }
        public string UserName { get; set; }
    }

Здесь возникает ошибка:

Недопустимый декларатор члена инициализатора "

Код:

        var ugList = (from ug in _context.Usergroups
                      join uug in _context.UserUsergroup on ug.UserGroupId equals uug.UsergroupId
                      join u in _context.Users on uug.UserId equals u.UserId
                      select new UgInfo
                      {
                          UserGroupId = uug.UsergroupId,
                          Description = ug.Description,
                          Name = ug.Name,
                          new UInfo //Error
                          {
                              UserName = u.UserName,
                              UserEmail = u.Email
                          }

                      }).ToList();

        return ugList;

Может ли быть кто-нибудь, кто может помочь новичку?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

У вас есть ICollection<UInfo> в качестве свойства, и вы используете new UInfo в коде.Это должно быть new List<UInfo>.

0 голосов
/ 25 сентября 2018

Ну, вам не хватает имени члена, которое вы пытаетесь инициализировать, например.Затем вам нужно инициализировать его типом коллекции, а не одним экземпляром UInfo:

...
Name = ug.Name,
UInfo = new List<UInfo> 
{
    new UInfo
    {
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...