Как добавить метод расширения Entity Framework Include в Generic IQueryable

Вот в чем дело.

У меня есть интерфейс, и я хотел бы поместить метод расширения 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) для работы.

Мне нужно то же самое для интерфейса с методом расширения.

Есть свет?

5
задан iuristona 18 February 2014 в 18:17
поделиться