Здравствуйте, SeLo, Вы писали:
SL>Загрузить данные из несколькох таблиц в одном запросе Адаптеры не позоволяют,
Отлично позволяют. Просто возвращаете в запросе несколько результатов.
По умолчанию они мапятся в порядке следования таблиц в датасете, но можно задать явно любой другой маппинг.
SL>приходится прогонять полученных результат и подгружать внешние таблицы по ключу, для каждого ключа отдельно. В общем – очень ресурсоемкие обращения к базе получаются.
Конечно. Но так делать не надо.
SL>Возникла идея смешать эти два подхода – EF – как AccessLayer и DTO, а моделью данных, что используется на клиенте DataSet.
DTO в таком подходе, как мне кажется, не нужно (если это не через web service). Прямо из EF запроса в датасет и перекладывать.
SL>Вообще, во многих местах программы, так где не требуется DataSet, я мог бы и хотел бы использовать EF. SL>Вопрос – стоит ли мешать две технологии EF и дата сет?
EF и DataSet — не противоречат друг другу. Не совсем корректно выбирать между EF и DataSet.
Можно выбирать между DataSet и POCO для модели данных и между EF и ADO.NET для доступа к ним.
SL>Или проблему, описанную мной, можно как-то обойти.
В вашем случае (как я его понял) не вижу смысла их смешивать. Пусть часть программы работает с DataSet + DataAdapter (По крайней мере, для чтения данныз, обновления — отдельный разговор), а часть — с EF + POCO.