Общий репозиторий ASP.NET MVC

Я ищу часы и прочитал несколько статей по созданию общих репозиториев (GR). Насколько я понял, GR используются в тех случаях, когда есть похожие коды. Например, чтобы получить из таблицы одну строку по ее идентификатору или всю таблицу. Однако до сих пор не могу понять, как это реализовать.

public interface IEntity<T> where T : class{
     IQueryable<T> getAll();
     T GetById(int id);
}

public class Repository<T> where T : IEntity<T>{
     northWindDataContext nwdc = new northWindDataContext();

    public IQueryable<T> getAll()
    {
         //code to retrive the whole table
    }

    public T GetById(int id)
    {
        //code to retrieve a single row (don't know how to do)
    }
}

Затем я хочу сделать что-то подобное:

Repository<User> rep = new Repository<User>();
IQueryable<User> = rep.getAll<User>; 
User user = rep.GetById(35);

Кто-нибудь может объяснить мне, как выполнить эту задачу?

8
задан abatishchev 25 June 2011 в 16:01
поделиться