Menu
Connexion Yabiladies Ramadan Radio Forum News
ASP.NET CORE Controller et EF
y
26 juillet 2020 19:40
Salut

En web, je me demandais quel est l interet de definir la couche repository si on s occupe de tout definir dans le controller de l'objet ?
26 juillet 2020 19:46
Les repository et le controller font pas les memes choses je suis pas trop .NET mais pour la techno spring boot java dans ce premier cas, on structure le projet en dossiers repository qui gére la persitance dans la base de donnée qu'on va appellé dans un fichier service dans le dossier services. Cette repository utilise les entities qui définissent les modeles. Et ensuite on a le dossier controllers ou l'on appelle les services avec une methode Http.

C'est plus lisible une bonne maniere de coder c'est d'effectuer la séparation entre ce que l'on fait dans le codes la séparation a pour utilité la modularité de pouvoir utiliser ou l'on veut



Modifié 1 fois. Dernière modification le 26/07/20 19:51 par Habiboulahi.
26 juillet 2020 19:47
y
26 juillet 2020 20:04
Au niveau des controller par exemple la j 'ai


// GET: api/Compte
[HttpGet]
public async Task<ActionResult<IEnumerable<Compte>>> GetComptes()
{
return await _context.Comptes.ToListAsync();
}


Pour une methode qui liste les comptes depuis le db .
en Visual Studio on a la possibilité de generer ça automatiquement donc je me dis que c'est la meilleure maniere mais la on a pas utiliser ce que j'ai definis dans la couche repository dans repository moi j ai ça

public class CompteRepository : ICompteRepository
{
private readonly AppDbContext _appDbContext;

//private List<Compte> _compteList;

public CompteRepository(AppDbContext appDbContext)
{
_appDbContext = appDbContext;
}
public Compte Add(Compte compte)
{
_appDbContext.Comptes.Add(compte);
_appDbContext.SaveChanges();
return compte;

}

public Compte Delete(int id)
{
Compte compte = _appDbContext.Comptes.Find(id);
if(compte != null)
{
_appDbContext.Comptes.Remove(compte);
_appDbContext.SaveChanges();

}
return compte;

}

public IEnumerable<Compte> GetAllCompte()
{
return _appDbContext.Comptes.Include(e => e.Etablissements);
}


public Compte GetCompte(int Id)
{
return _appDbContext.Comptes.Find(Id);


}

public Compte Update(Compte compteUpdate)
{
var compte = _appDbContext.Comptes.Attach(compteUpdate);
compte.State = Microsoft.EntityFrameworkCore.EntityState.Modified;
_appDbContext.SaveChanges();
return compteUpdate;

}


}

Citation
Habiboulahi a écrit:
Les repository et le controller font pas les memes choses je suis pas trop .NET mais pour la techno spring boot java dans ce premier cas, on structure le projet en dossiers repository qui gére la persitance dans la base de donnée qu'on va appellé dans un fichier service dans le dossier services. Cette repository utilise les entities qui définissent les modeles. Et ensuite on a le dossier controllers ou l'on appelle les services avec une methode Http.

C'est plus lisible une bonne maniere de coder c'est d'effectuer la séparation entre ce que l'on fait dans le codes la séparation a pour utilité la modularité de pouvoir utiliser ou l'on veut
y
26 juillet 2020 20:08
Pour etre encore plus clair pcq ce que je dis ne l est pas bcp
Quand est ce qu on utilise les methodes du repository ?La partie Client ?
Citation
Habiboulahi a écrit:
Les repository et le controller font pas les memes choses je suis pas trop .NET mais pour la techno spring boot java dans ce premier cas, on structure le projet en dossiers repository qui gére la persitance dans la base de donnée qu'on va appellé dans un fichier service dans le dossier services. Cette repository utilise les entities qui définissent les modeles. Et ensuite on a le dossier controllers ou l'on appelle les services avec une methode Http.

C'est plus lisible une bonne maniere de coder c'est d'effectuer la séparation entre ce que l'on fait dans le codes la séparation a pour utilité la modularité de pouvoir utiliser ou l'on veut
26 juillet 2020 20:17
Il est possible de le faire comme ça sans le repository mais le repository permet comme je le dis de pouvoir réutiliser plus facilement

[docs.microsoft.com]- mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application
y
26 juillet 2020 20:54
Merci je vais aller lire tout ça
Citation
Habiboulahi a écrit:
Il est possible de le faire comme ça sans le repository mais le repository permet comme je le dis de pouvoir réutiliser plus facilement

[docs.microsoft.com]- mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application
 
Emission spécial MRE
2m Radio + Yabiladi.com
Facebook