Entity Framework 7 échafaudage DbContext

asp.net asp.net-core c# entity-framework entity-framework-core

Question

J'essaie de générer un DbContext pour une structure de base de données existante à l'aide d'ASP.NET 5 et d'Entity Framework 7. Il n'est donc pas étonnant qu'il existe peu de documentation sur la manière de procéder facilement. De plus, je veux échafauder SEULEMENT le contexte; il y a ~ 900 tables et je ne me soucie que de quelques-unes d'entre elles. Je n'ai pas besoin d'une classe de modèle pour chacune d'elles.

J'ai utilisé les commandes spécifiées ici et ici avec peu de chance.

Donc, je suppose que j'ai deux questions:

  1. Où se trouvent les fichiers de contexte générés? J'exécute la commande à l'invite sans échec, mais rien d'autre ne se produit. Je sais que je suis au moins au bon endroit car je peux ajouter l'ancien modèle EF6 avec des propriétés non prises en charge, ce qui me donne l'erreur de ne pas les prendre en charge.

  2. Est-il possible de générer uniquement un contexte sans classes de modèle correspondantes?

Réponse populaire

J'ai eu le même problème avec mon projet générant le contexte et les modèles. Voici quelques choses que j'ai faites.

Mises à jour pour 1.0 RC1 ci-dessous

Project.json

  "dependencies": {
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

Commande DNX

dnx ef dbcontext scaffold "connectionString" EntityFramework.MicrosoftSqlServer

Original Post ci-dessous

Assurez-vous qu'ils sont ajoutés à votre fichier project.json:

"dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7",
    "EntityFramework.SqlServer.Design": "7.0.0-beta7"
},
"commands": {
    "ef": "EntityFramework.Commands"
}

Mettez à niveau dnvm et les environnements d'exécution dnx à l'aide de dnvm update-self et de la mise à niveau de dnvm . J'ai couru cela dans cmd.

Cmd.exe ouvert à l'emplacement du projet (si vous êtes dans Windows, naviguez jusqu'au dossier et faites un clic droit dans le dossier, puis cliquez sur "Ouvrir la fenêtre de commande ici"). Dans mon cas, j'avais un projet séparé pour ma couche d'accès aux données, par exemple.

C:\Projects\Stackoverflow Example\src\StackoverflowExample.DAL\

J'ai alors simplay couru:

dnx ef dbcontext scaffold "Source de données =; Catalogue initial = base de données; Sécurité intégrée = True" EntityFramework.SqlServer

Assurez-vous que votre projet peut construire. S'il y a des erreurs, les commandes ne fonctionneront probablement pas.

Il générait tous les modèles ainsi que le contexte (avec la configuration OnModelCreating () de chaque entité). Si vous n'avez pas besoin de tous les modèles, supprimez simplement ceux que vous n'utilisez pas.

Donc pour répondre à vos questions:

  1. Il crée les modèles et le contexte dans le dossier dans lequel vous avez exécuté l’échafaudage dnx ef dbcontext.
  2. Je ne vois aucune commande qui vous permette de le faire pour le moment. Lancez dnx ef --help dans cmd et cherchez vous-même. dnx ef

J'espère que ça aide.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi