Как я могу объединить две таблицы в Entity Framework - PullRequest
0 голосов
/ 10 марта 2020

У меня есть две таблицы в моем проекте. Я хочу получить заметку с именем пользователя автора заметки. Как я могу присоединиться к этой таблице в LINQ?

Примечание Entity:

 public class Note : MyEntitesBase
    {      
        public string Tittle { get; set; }
        public string Text { get; set; }
        public bool IsDraft { get; set; }
        public bool IsApproved { get; set; }
        public int CategoryID { get; set; }

        public virtual EvernoteUser Owner { get; set; } 
        public virtual List<Comment> Comments { get; set; } 
        public virtual Category Category { get; set; } 

        public virtual List<Liked> Likes { get; set; }

        public Note()
        {
            Comments = new List<Comment>();
            Likes = new List<Liked>();
        }
    }

EvernoteUser Entity:

 public class EvernoteUser : MyEntitesBase
    {
        public string Name { get; set; }
        public string Surname { get; set; }
        public string Username { get; set; }
             /*Exc */
        public Guid ActivateGuid { get; set; } 


        public virtual List<Note> Notes { get; set; } 
        public virtual List<Comment> Comments { get; set; } 
        public virtual List<Liked> Likes { get; set; }
    }

1 Ответ

0 голосов
/ 10 марта 2020

Вам нужно стремиться загрузить данные таблицы владельцев при выполнении запроса к Notes, чтобы при обращении к свойству .Owner оно не было нулевым. Например:

Note noteWithOwner = _context.Notes
    .Include(x => x.Owner) // Eager load the Owner table data into the object graph.
    .SingleOrDefault(x => x.ID == noteID);
...