0

Я использую EF вместе с mvc, для этого у меня есть общий репозиторий, реализация unitOfWork на основе ObjectContext, без проблем с CRUD. Мне просто интересно, как я могу/должен обрабатывать сценарии, где мне нужно сделать соединение с сущностями.Как обрабатывать сценарии слияния sql

+0

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

+0

нет конкретного контекста в виду, просто выясняя, как нарушить реализацию ObjectCotnext. – afr0

ответ

1

Есть несколько способов справиться с ситуацией. Соединения не нужны в большинстве ситуаций и вообще избегаются в EF.

var orders = orderRepository.GetAll(); 

var projection = orders.Where(o => o.Customer.Name == "Foo") 
     .Select(o => new { o, o.Customer }); 

Generic Repository - это нечеткая абстракция. Реализовать конкретный репозиторий для каждого объекта и создать метод, который соединяет и возвращает результат.

+0

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

+0

so .select - это способ сделать соединение правильно? – afr0

+0

@ user1162274 На самом деле вы сообщаете, что вам нужно, и EF будет делать соединения при необходимости :) – Eranga