Bonjour,

Je débute en ASP.NET MV2 avec Entity Framework en suivant le tutoriel NerDinner et j'ai une question concernant les repositories qui y sont décrits : est-il possible de créer une classe de base pour ces repositories donc chacun hériterait ?

Concrètement, j'aimerais pouvoir abstraire l'entité considérée de manière à ne pas avoir à recopier toujours les mêmes méthodes. J'ai actuellement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class NewsRepository
    {
        private FWAEntities entities = new FWAEntities();
 
        public IQueryable<News> GetAll()
        {
            return entities.News;
        }
 
        public News GetById(int id)
        {
            return entities.News.FirstOrDefault(n => n.NewsID == id);
        }
 
...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PagesRepository
    {
        private FWAEntities entities = new FWAEntities();
 
        public IQueryable<Page> GetAll()
        {
            return entities.Pages;
        }
 
        public Page GetById(int id)
        {
            return entities.Pages.FirstOrDefault(p => p.PageID == id);
        }
...
Et j'aimerais pouvoir faire ce genre de chose, mais j'ignore comment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class BaseRepository
    {
        private FWAEntities entities = new FWAEntities();
 
        public IQueryable<Ts> GetAll()
        {
            return entities.Ts;
        }
 
        public T GetById(int id)
        {
            return entities.Ts.FirstOrDefault(e => e.TID == id);
        }
...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public class PagesRepository : BaseRepository
    {
        T = Page;
        Ts = Pages;
...
Est-ce possible en .NET ?

Merci de votre aide.