На основании этого вопроса ( ошибка при использовании интерфейсов для сущностей Entity Framework (4.2) )
Я пытаюсь добиться постоянного невежества для операций только для чтения на других уровнях приложения.
Используя очень простой выбор эти 3 работы
var test = _newsSource.GetAll().ToArray();
var test2 = _newsSource.GetAll().Where(n => n.NewsID>0).ToArray();
var test3 = _newsSource.Find(n => n.ExpiryDate.HasValue).ToArray();
но запрос, следующий за соединением, завершается неудачно.
я зашел так далеко, что использовал перехватчик , чтобы переписать выражения без каких-либо ссылок на интерфейсы. Затем с помощью TypeChangeVisitor из другого ответа SO.
Я также пытался работать VisitUnary , чтобы убрать ненужное приведение / преобразование
Этот подход не работает в простых тестах, утверждая, что моя единственная переменная не связана.