У меня есть база данных с простой структурой:Entity Framework, ArgumentNullException
markimaster(id, name), modelemaster(id, marka_id), typymaster(id, model_id)
я определил отношения между таблицами и выборки данных с этим кодом:
ObjectQuery<markimaster> markiQuery = context.markimaster.Include("modelemaster.typymaster");
bindingSourceMarki.DataSource = markiQuery;
Последняя строка бросает ArgumentNullException с ParamName: сущность. Когда я изменить свой код к этому:
ObjectQuery<markimaster> markiQuery = context.markimaster.Include("modelemaster");
bindingSourceMarki.DataSource = markiQuery;
его произведения (средство не выбрасывает исключение), поэтому я думал, может быть, есть строка в typymaster, что не было coresponding строки в modelemaster, но проверка показывает базы данных ничего.
Поскольку я новичок в EntityFramework я понятия не имею, что это неправильно, так пришел сюда в поисках посоветуйте;)
[UPDATE]
Я побежал другой запрос на моей базе данных:
выберите * from modelemaster, где model_id не в (select model_id from typymaster)
, который возвращает 2000 строк. Таким образом, существуют модели, которые не имеют типов.
[UPDATE]
Это фрагмент моего 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"
так что кажется, как имена, используемые в пути, переданных Включают правильно
Спасибо за ответ. это то же самое, но я обновил новую информацию. Считаете ли вы, что это может быть проблемой;) –