У меня есть база данных с простой структурой:
markimaster(id, name), modelemaster(id, marka_id), typymaster(id, model_id)
Я определил отношения между таблицами и выборкой данных с помощью этого кода:
ObjectQuery<markimaster> markiQuery = context.markimaster.Include("modelemaster.typymaster");
bindingSourceMarki.DataSource = markiQuery;
Последняя строка выдает исключение ArgumentNullException с ParamName: entity.
Когда я изменяю свой код на это:
ObjectQuery<markimaster> markiQuery = context.markimaster.Include("modelemaster");
bindingSourceMarki.DataSource = markiQuery;
это работает (значит, не выдает исключение), поэтому я подумал, что, может быть, есть строка в typymaster, у которой в corelemaster нет строки с ответом на запрос, но проверка базы данных ничего не показывает.
Поскольку я новичок в EntityFramework, я понятия не имею, что не так, поэтому пришел сюда в поисках совета;)
[UPDATE]
Я запустил другой запрос в своей базе данных:
выберите * из modelemaster, где не указан model_id (выберите model_id из typymaster)
, который возвращает 2000 строк. Так что есть модели, у которых нет типов.
* * Тысяча двадцать-одина [ОБНОВЛЕНИЕ] * * тысяча двадцать-дв
Это фрагмент моего .edmx файла
EntitySet Name="markimaster" EntityType="MMT_Master.store.markimaster" store:Type="Tables" Schema="public"
EntitySet Name="modelemaster" EntityType="MMT_Master.store.modelemaster" store:Type="Tables" Schema="public"
EntitySet Name="typymaster" EntityType="MMT_Master.store.typymaster" store:Type="Tables" Schema="public"
кажется, что имена, использованные в пути, переданном для включения, верны