2

Je souhaite développer une application ASP.Net MVC avec le modèle EF4 Model First et ne générer la base de données réelle que beaucoup plus tard, idéalement au fin du projet.EF4 et ASP.Net MVC à tester et développer sans mappage vers une base de données sous-jacente (jusqu'à plus tard)

Sur la base de quelques-unes des idées ici:

http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/

Je veux créer quelque chose comme un InMemoryObjectContext pour les tests et le développement et l'utilisation du CIO pour passer au implamentation SQL Server (EF généré) pour UAT et production.

Est-ce sage?

Est-ce possible? Si oui, quelqu'un a-t-il des suggestions?

EF a-t-il toujours besoin d'une base de données sous-jacente pour suivre les modifications, valider, etc.?

J'ai essayé de créer un premier modèle, mais dès que j'ajouter des propriétés que je reçois les erreurs suivantes:

Erreur 2062: Le mappage spécifié pour les instances du EntitySet et AssociationSet dans le EntityContainer Model1Container.

et l'avertissement:

transformation en cours: S'il vous plaît remplacer le jeton de remplacement « $ edmxInputFile $ » avec le nom réel du fichier .edmx que vous souhaitez générer à partir.

L'erreur n'arrête pas l'application mais m'inquiète. Je suis très nouveau à EF donc je m'excuse si c'est loin de la vérité ou d'une question stupide. J'espère obtenir de bons conseils pendant que je m'assois pour les prochains jours et regarder des vidéos et lire des articles.

Merci

Davy

+0

Vous pouvez essayer d'utiliser une ligne de base de données in-precess SQLite ou SQL Compact ou quelque chose (comme Plan B). – R0MANARMY

Répondre

1

à l'information dont vous avez besoin tout le moins la cartographie "rempli". Vous pouvez remplir ces champs avec un non-sens si vous ne voulez pas travailler avec la base de données sous-jacente. Si vous faites d'abord Model, faites un clic droit sur le canevas du concepteur et sélectionnez «Générer la base de données à partir du modèle». Cela crée automatiquement des mappages basés sur les conventions sans définir de tables et de colonnes. Vous n'avez même pas besoin d'une connexion db valide pour le faire.

+0

Merci, j'ai essayé cela et cela fonctionne dans une certaine mesure, mais si j'essaye de faire n'importe quoi avec mon contexte tel: Model1Container context = new Model1Container(); context.Employees.AddObject (e); var i = context.Employees.Count(); Je reçois le nom d'objet 'dbo.Employees' incorrect. –

+0

Je dois exécuter le script généré dans le serveur SQL, en créant la table physique. Est-ce que c'est ce que vous vouliez dire. Merci. –