Получение связанных сущностей из БД Oracle через EF6 и LINQ - PullRequest
0 голосов
/ 15 февраля 2019

Я работаю над веб-приложением, которое может отображать данные из базы данных Oracle.

Например, если мне нужно отобразить деталь, мне нужны следующие отношения:

Parts have 0-1 AdditionalInformations
Parts have 0-1 ReferencePart
Parts have 1   Type 
Parts have 1-* Tasks
Parts have 0-* Locations

Более того:

AdditionalInformations have 0-* Users
And Locations          have 1   AdditionalLocationInfo

Итак, я хочу получить часть из db, удалить контекст и после этого я хочу отобразить часть, включая ранее упомянутые отношения.

Я использую EntityFramework 6с LINQ для запросов.И БАЗА ДАННЫХ ORACLE 12c для хранения Данных

var query = from part in _dbcontext.Part.AsNoTracking()
            where part.Id == partId
            select part;
return query
        .Include(p => p.Type)
        .Include(p => p.AdditionalInformations.Users)
        .Include(p => p.ReferencePart)
        .Include(p => p.Locations.Select(l => l.AdditionalLocationInfo))
        .Include(p => p.Tasks)
        .SingleOrDefault();

К сожалению, это дает мне исключение ORA-01790 ...
Если я использую меньше, Включает, это работает!:

var query = from part in _dbcontext.Part.AsNoTracking()
            where part.Id == partId
            select part;
return query
        .Include(p => p.Type)
        .Include(p => p.Locations.Select(l => l.AdditionalLocationInfo))
        .SingleOrDefault();


var query = from part in _dbcontext.Part.AsNoTracking()
            where part.Id == partId
            select part;
return query
        .Include(p => p.Type)
        .Include(p => p.AdditionalInformations.Users)
        .Include(p => p.ReferencePart)
        .SingleOrDefault();

Но да, мне нужны все отношения ...

Поэтому, пожалуйста, дайте мне информацию о том, как решить эту проблему :) Спасибо!

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