Utilisation du modèle de référentiel avec Entity Framework (mvc storefront)

asp.net asp.net-mvc domain-driven-design entity entity-framework

Question

Quelqu'un peut-il donner un coup de main? J'ai visionné les vidéos de la vitrine MVC et créé mon propre site Web à l'aide de ces techniques, à savoir DDD, modèle de référentiel, mais je souhaite utiliser Entity Framework.

Dans les interfaces, il renvoie IQueryable mais avec Entity Framework, dois-je plutôt renvoyer ObjectQuery? - Je vais utiliser LINQ.

Également dans l'exemple de la base de stockage, cela ressemble à ceci: IQueryable <Category> GetCategories ();

De plus, dans le magasin MVC, la classe Category était une classe d'entité construite (classe standard), mais avec Entity Framework, ces classes sont déjà construites dans le contexte de l'objet.

Donc je devrais avoir besoin de les construire?

Je suis un peu confus. Si quelqu'un a un exemple ou un code utile, ce serait vraiment utile.

Comme je l'ai dit, j'ai visionné les vidéos de la devanture de magasin MVC avec linq2sql, mais j'aimerais vraiment utiliser Entity Framework.

Des idées?

Merci

Forge

Réponse populaire

Permettez-moi de répondre à vos questions une à la fois:

Vos référentiels doivent renvoyer IQueryable <T>, et non ObjectQuery. La raison en est que le motif du référentiel a pour seul objectif d’abstraire les détails de votre magasin de données. Cela vous permet de remplacer un référentiel factice lorsque vous testez vos contrôleurs. Si vous faites en sorte que le référentiel retourne ObjectQuery, vous n'abstenez pas d'Antity Framework. Une autre façon de le dire est que les utilisateurs de votre référentiel ne doivent pas savoir, autant que possible, que c'est le Entity Framework qui effectue le mappage O / R.

Pour utiliser les symboles plus grand que et inférieur que dans le texte d'un paragraphe dans Stack Overflow, vous devez les échapper comme vous le feriez en HTML, à savoir:

&lt;

Vous n'avez pas besoin de faire cela dans un bloc de code; dans les blocs de code, il vous suffit de taper le symbole inférieur à / supérieur à.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow