2010-09-03 4 views
4

Je suis nouveau à MVC et même s'il y a beaucoup (et je veux dire beaucoup) d'informations là-bas qui est très utile - c'est très difficile à obtenir une compréhension claire sur la façon d'atteindre mes exigences exactes avec MVC 2.0.Travailler avec MVC 2.0 et le modèle dans un assemblage séparé

Je voudrais mettre en place une solution comme suit:

  • Fournir une interface utilisateur Web à l'aide d'un projet MVC 2.0.
  • Utilisez Linq to SQL classes projet pour la persistance des données.
  • J'ai deux modules de code séparés qui devront accéder au modèle Linq to SQL ci-dessus - donc je ne serai pas capable d'inclure mon modèle Linq to SQL directement dans le projet MVC lui-même.
  • J'ai aussi une couche Business Logic devant mon projet Linq to SQL.

Mes questions sont les suivantes:

  • Comment puis-je mettre en place la partie du modèle de mon application MVC pour pointer vers mon projet LINQ to SQL via mon BLL?
  • Comment effectuer la validation d'une application Web? Puis-je utiliser la validation de modèle MVC 2.0? Sinon, quelles sont les alternatives?
  • Enfin (et légèrement de côté) - Qu'est-ce que ViewModel et en quoi est-ce différent du modèle?

Tant de questions. Mais c'est une nouvelle technologie passionnante et des problèmes d'accès aux données de côté, tout ce que j'ai à gérer très rapidement et je pense que MVC 2.0 est fantastique.

Merci pour les pointeurs que vous pouvez fournir.

Répondre

4

Comment puis-je mettre en place la partie du modèle de ma application MVC pour pointer vers mon Linq à projet SQL via mon BLL?

Typiquement, vous utiliseriez un modèle de référentiel pour cela. Votre contrôleur a une référence à votre référentiel - le référentiel renvoie les objets de votre domaine depuis votre base de données. L'application MVC n'a aucune connaissance LINQ to SQL existe.

Comment effectuer la validation d'une application Web? Puis-je utiliser la validation de modèle MVC 2.0? Si pas quelles sont les alternatives?

Placez les modèles de vue dans votre projet MVC. Ces modèles de vue peuvent être étroitement alignés avec vos modèles de domaine, mais leur préoccupation est d'être le modèle de présentation. Placez vos annotations de données pour validation sur ces modèles de vue. La structure MVC assurera automatiquement la validation sur ces modèles de vue décorés avec des annotations de données. Il est branché de sorte que vous pouvez utiliser des alternatives - mais avec MVC 2, il est assez bien cuit et cela inclut la validation côté client.

Enfin (et un peu de côté) - Qu'est-ce que ViewModel et comment cela diffère-t du modèle?

J'ai partiellement répondu à celui ci-dessus.La forme de vos modèles de domaine n'est peut-être pas la forme dont vous avez besoin pour afficher vos vues. Les modèles de vue sont parfaits pour combler cette lacune. En outre, même si la forme correspond exactement - les modèles de vue sont toujours une bonne idée afin que vous puissiez y mettre du code de validation de l'interface utilisateur et d'autres méta-données de présentation (puisque vous ne voulez rien de logique de présentation sur votre modèle de domaine) .

Voici le lien pour view model patterns.

Espérons que cela aide.

1
  1. Vous pouvez ajouter une référence aux objets exposés à partir de votre assembly BLL et les utiliser comme modèles.

  2. Lorsque vous souhaitez ajouter la validation des classes qui sont générés utilisation buddy classes. Un ViewModel est un agrégat de données de modèle de forme personnalisée. Il y en a exactement un par vue, puisque le ViewModel a pour but de faire apparaître exactement les données nécessaires à une vue particulière de manière pratique et concise.

Un exemple peut être une vue qui contient des informations Order et OrderDetail. Un ViewModel peut contenir des références internes aux référentiels et aux objets métier pour chaque type. Les propriétés du ViewModel fusionnent les données de ces objets. ViewModels sera utile dans votre cas aussi parce que vous voulez que vos modèles soient dans un assemblage séparé. Vous pouvez appliquer les propriétés DataAnnotations à ViewModel pour validation. Vous voulez que les modèles d'objet métier "raw" soient les propriétés internes de vos ViewModels et exposer les méthodes publiques pour extraire et conserver les données.

Questions connexes