Получить несвязанные лица в одной поездке в базу данных - PullRequest
5 голосов
/ 11 мая 2010

У меня есть 3 сущности, которые не связаны друг с другом, и я хочу получить все эти сущности за одну поездку в базу данных, как я могу это сделать ??

Спасибо

Ответы [ 3 ]

1 голос
/ 21 июня 2016

Вы можете использовать метод расширения Future Query. Эта ссылка может выполнять работу в соответствии с требованиями.

0 голосов
/ 16 мая 2010

Если вы извлекаете данные из чистой реляционной базы данных, вам следует посмотреть, сможете ли вы получить несколько результирующих наборов в одном запросе. В качестве альтернативы, если вы можете получать неровные результаты, извлекайте их в древовидной структуре с соответствующей формой.

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

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

0 голосов
/ 12 мая 2010

Вы можете сделать это с:

 var result = from foo in ctx.Foos
              from bar in ctx.Bars
              where foo.id == xxx && bar.id == yyy
              select new { Foo = foo, Bar = bar};

При этом вы получите определенный foo и строку в одном запросе. Хотя это приведет к довольно неэффективному SQL, поэтому я бы не рекомендовал его.

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