Entity Framework: как получить данные из связанной таблицы (многие ко многим) - PullRequest
0 голосов
/ 29 июня 2018

У меня есть две таблицы

LOCATIONS:
Id
Name
OwnerId (FK to Owners table)

PARAMTERS:
Id
LocationId
TypeId
Name
Value

Данные примерно такие:

LOCATIONS
1,'Park',100
2,'Shop',200
PARAMETERS
1,1,'Length',5,200
2,1,'Width',5,100
3,2,'Area',6,100

Я хочу получить данные для всех местоположений, которые будут включать все параметры для каждого местоположения.

У меня запрос, который не работает.

_locationsRepository.GetAll()
      .Include(x => x.Owner)
      .Include(x => x.Parameters)
      .ToList();

Запуск без включения параметров работает нормально. В таблице параметров есть FK (для таблицы Locations).

Я что-то упустил? Буду рад, если кто-нибудь сможет помочь.

1 Ответ

0 голосов
/ 29 июня 2018

Вы можете попробовать добавить что-то вроде:

[InverseProperty("Location")]
public virtual ICollection<Parameters> Parameters { get; set; }

в таблицу Locations и добавьте

[ForeignKey("LocationId")]
public virtual <Location> Location { get; set; }

к таблице параметров, чтобы обеспечить обратный поиск и помочь EF правильно генерировать внешний ключ (конечно, при условии, что вы используете CodeFirst).

Оба тега живут внутри

System.ComponentModel.DataAnnotations;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...