Entity Framework объединяет 3 таблицы

Я пытаюсь присоединиться к трем таблицам, но я не могу понять этот метод …

Я заполнил 2 таблицы

var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); 

таблицы

Я хотел бы включить таблицу tbl_Title с TID PK и получить поле Title .

большое спасибо

Я думаю, что будет проще использовать синтаксический запрос:

 var entryPoint = (from ep in dbContext.tbl_EntryPoint join e in dbContext.tbl_Entry on ep.EID equals e.EID join t in dbContext.tbl_Title on e.TID equals t.TID where e.OwnerID == user.UID select new { UID = e.OwnerID, TID = e.TID, Title = t.Title, EID = e.EID }).Take(10); 

И вы должны, вероятно, добавить предложение orderby , чтобы Top(10) вернул правильные десятки пунктов.

Это не проверено, но я считаю, что синтаксис должен работать для lambda-запроса. Когда вы присоединяетесь к большим таблицам с этим синтаксисом, вам нужно еще больше развернуть новые объекты, чтобы достичь значений, которые вы хотите манипулировать.

 var fullEntries = dbContext.tbl_EntryPoint .Join( dbContext.tbl_Entry, entryPoint => entryPoint.EID, entry => entry.EID, (entryPoint, entry) => new { entryPoint, entry } ) .Join( dbContext.tbl_Title, combinedEntry => combinedEntry.entry.TID, title => title.TID, (combinedEntry, title) => new { UID = combinedEntry.entry.OwnerUID, TID = combinedEntry.entry.TID, EID = combinedEntry.entryPoint.EID, Title = title.Title } ) .Where(fullEntry => fullEntry.UID == user.UID) .Take(10); 
 var entryPoint = (from ep in dbContext.tbl_EntryPoint join e in dbContext.tbl_Entry on ep.EID equals e.EID join t in dbContext.tbl_Title on e.TID equals t.TID where e.OwnerID == user.UID select new { UID = e.OwnerID, TID = e.TID, Title = t.Title, EID = e.EID }).Take(10); Great answer 
  • Карта От многих до многих отношений без свойства навигации
  • Получить возвращаемое значение из хранимой процедуры
  • Объект с тем же ключом уже существует в ObjectStateManager. ObjectStateManager не может отслеживать несколько объектов с одним и тем же ключом
  • Код элемента Entity Framework (EF) Первый каскадный вывод для отношения «один к нулю» или «один»
  • Mocking EF DbContext с Moq
  • EF5 Получение этого сообщения об ошибке: Совместимость модели не может быть проверена, поскольку firebase database не содержит метаданных модели
  • Перенос EF для изменения типа данных столбцов
  • Моделирование базы данных полиморфных ассоциаций - сначала против первого кода
  • EF LINQ включает несколько и вложенные объекты
  • В чем разница между .ToList (), .AsEnumerable (), AsQueryable ()?
  • Давайте будем гением компьютера.