Je sais que cette question a été posée de nombreuses fois avant que je n'ai lu quelques posts sur le sujet sur les avantages et les inconvénients, etc, mais je n'arrive toujours pas à décider ce qui est une bonne solution pour moi. Je suis très nouveau à la programmation web et viennent de un SQL DB Admin / rédaction d'un rapport de fond. J'ai décidé d'essayer de construire mon propre site web, qui peut-être 30 à 40 tables peut-être plus dans le futur.
J'ai regardé les deux approches et je n'ai faveur de l'Entité de Modèle de l'approche uniquement parce que j'aime la simplicité de la designer et j'aime voir le modèle dans son ensemble en face de moi, elle montre le tableau d'ensemble dans un instantané. Aussi, ne m'étant un excellent programmeur, je suis impressionné par la façon dont il produit le POCO à l'aide de la DbContext modèle de générateur et la liaison entre les classes.
Cependant, j'aime bien le Modèle de la Première Approche, je crois qu'il y a certains inconvénients, je ne sais pas si ils sont réels inconvénients ou je ne sais pas assez sur le premier modèle de l'approche et de l'approche du premier code que je suis encore très nouveau pour cette.
Les Raisons que j'hésite à utiliser le Modèle de la Première approche sont:
-Principalement parce que j'ai du mal à trouver des tutoriaux sur le Modèle de la première approche à l'aide de MVC 3. Le meilleur tutoriel que j'ai trouvé à l'aide de la DbContext est par Julie Lerman, mais elle ne couvre pas copain classes qui sont importantes pour l'utilisation de données d'annotations et de faire d'autres changements qui ne sont pas perdus lorsque vous régénérer les POCOs . La plupart des tutoriels MVC 3 semblent liées à l'utilisation du Code à la première approche. La plupart des gens disent que c'est parce que le tuteur ne veux pas me concentrer sur EF, mais plutôt de montrer plus MVC dans les tutoriaux. Personnellement, je pense que c'est parce que Microsoft est le champion de la Premier Code de la méthodologie sur les autres :)
-Si c'est une bonne pratique pour créer copain classes pourquoi ne puis-je pas trouver de nombreux tutoriels montrant ce pour MVC 3? Sont Copain Classes un autre nom pour Afficher les Modèles? Et pourquoi ne puis-je pas trouver tout les tutoriels par Microsoft montrant ces copain/modèles de vue de l'utilisation avec MVC 3?
-J'ai essayé de faire une base de 1 pour 1 relation entre les 2 tables. Dans le modèle, vous devez d'abord définir les clés de l'identité de chaque table pour le même champ, plutôt que d'utiliser un FK dans l'une des tables, ce qui peut avoir un peu déroutant lorsque vous avez 3 ou plusieurs tables liées par une relation de 1 à 1 les relations. Dans le premier code, une façon de contourner ce problème est d'utiliser le modèle du générateur et de le configurer manuellement. Je pense que dans MF vous pouvez modifier la relation en allant dans le XML dont je ne suis pas désireux de le faire à tous.
-Plus de soutien/aide sur le premier code de problèmes
Les raisons pour lesquelles j'hésite à utiliser l'approche du Premier Code sont:
-Je suis un novice codeur.
-Je vois, il est très difficile de garder une trace des tables et des relations que le projet se développe.
-Il n'y a pas de diagramme de Modèle et je dois dire que j'aime vraiment cette idée.
-La cartographie des entités de la base de données via la configuration des classes je trouve impossible :).
-Mise à jour d'une table nécessitent une modification du code et de la DB. Dans le premier Modèle uniquement un changement de modèle qui mettra automatiquement à jour la base de données et de Code après avoir dit que si vous êtes en utilisant un copain de classes, vous devrez mettre à jour ces derniers aussi bien.
Aussi maintenant je vois des gens qui sont un peu en combinant le Premier Code de Base de données et premières approches, en ce que vous ne laissez pas le Premier Code de générer votre base de données, mais de créer manuellement une base de données et utiliser le premier code de l'API à EF pour l'obtenir.
Ma tête tourne, avec toutes les options et les inconvénients et les avantages et les inconvénients. Je veux juste passer avec la création de mon site et à ne pas réfléchir sur l'approche à prendre. Quelqu'un peut-il me donner quelques précisions sur l'approche qu'ils pensent est le meilleur basé sur ce que j'ai dit et/ou ce qu'ils pensent être plus flux principal dans l'avenir?
Merci beaucoup dave