Реализация шаблона репозитория и выполнение тестов

Я прочитал почти все статьи о шаблоне репозитория и различных его реализациях. Многие из них судили о плохой практике (например, использованиеIQueryable<T> вместоIList<T>) и т. д. вот почему я все еще застрял и не смог попасть в нужное место.

Так:

Do I need Repository pattern to apply IoC in my MVVM applications ?

If yes, What is the efficient IRepository implementation to EF Entities which is a good practice and better testable ?

How can I test my Repositories and UnitofWork behavior ? Unit tests against in memory Repositories ? Integration tests ?

Edit : Согласно ответам я добавил первый вопрос.

Ответы на вопрос(2)

Ваш ответ на вопрос