Я новичок в .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;

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

0
Jono 25 Сен 2018 в 17:24

2 ответа

Лучший ответ

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

...
Name = ug.Name,
UInfo = new List<UInfo> 
{
    new UInfo
    {
        ...
    }
}
0
Chris Pratt 25 Сен 2018 в 14:29

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

0
vivek nuna 25 Сен 2018 в 14:44