Qu'est-ce qu'un bon modèle de lecture pour une application ASP.NET MVC en utilisant CQRS?

StackOverflow https://stackoverflow.com/questions/5330777

Question

Je cherche à développer une application ASP.NET MVC, ce qui devrait avoir la capacité à exécuter sur Azure à l'avenir. L'application utilisera le modèle de conception CQRS, que je suis assez nouveau pour lui. Le modèle d'écriture utilisera NHibernate avec les correspondances. Je ne sais pas quel genre de base de données à utiliser pour le modèle de lecture. Le modèle de lecture doit avoir les propriétés suivantes:

  • Il n'a pas besoin d'être SQL base, mais pourrait être. NHibernate pourrait être utilisé là aussi pour créer le modèle simple vue -> type de mappage de table, sans clés étrangères. CE SQL ou SQLite dans la base de données de mémoire peuvent être utilisées en tant que fournisseur de données. Cela donne aussi un peu plus de flexibilité en matière de données interrogation.

  • Il pourrait simplement être un objet sérialisé / désérialiseur qui stocke le modèle de vue les objets tels qu'ils sont. Il devrait rendre cela facile à utiliser et pourrait utiliser des choses comme le stockage Azure Blob à l'avenir. Y a-t-il des bons cadres qui gèrent cela dans une bonne façon?

J'aimerais d'obtenir des commentaires de certaines personnes qui ont construit ce genre d'applications avant.

Était-ce utile?

La solution

Nous utilisons pour le stockage Blob Vues CQRS sauvegardant client Web ASP.NET MVC 2 (et client de bureau aussi bien). Quelques détails Ceci est en production et est une grande amélioration par rapport à la version précédente de vues (NHibernate sur SQL Azure)

Il gère l'indexation simple et l'interrogation ainsi. Pour des scénarios plus complexes que je envisage l'utilisation sous-ensemble du tableau des fonctionnalités de stockage (uniquement pour les ensembles très grands qui ne peuvent pas être partitionné).

Autres conseils

Pour le modèle Lire, nous utilisons SQL Server 2008 R2 avec WCF Data Services sur le dessus. Le service de données WCF est ensuite configuré pour permettre la lecture seule. Les données dans la base de données SQL Server 2008 R2 est une table par entité, avec des vues spécialisées créées au-dessus de celles-ci.

L'application ASP.NET MVC n'a pas accès aux entités directement, il interroge uniquement les vues.

Un scénario comme celui-ci peut être indexé bien et les points de vue vous donner une flexibilité maximale.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top