Вот в чем дело.
У меня есть интерфейс, и я хотел бы поместить метод расширения Include
, который принадлежит библиотеке EntityFramework , в свой ] Уровень IRepository
, которому не нужно знать о EntityFramework .
public interface IRepository<TEntity>
{
IQueryable<TEntity> Entities { get; }
TEntity GetById(long id);
TEntity Insert(TEntity entity);
void Update(TEntity entity);
void Delete(TEntity entity);
void Delete(long id);
}
Итак, у меня есть метод расширения:
public static class IncludeExtension
{
static IQueryable<TEntity> Include<TEntity>(this IQueryable<TEntity> query,
string path)
{
throw new NotImplementedException();
}
}
Но я не знаю, как реализовать его на этом уровне, и я бы чтобы отправить его моему EntityFramework (или тому, кто будет реализовывать IRepository) для работы.
Мне нужно то же самое для интерфейса с методом расширения.
Есть свет?