Entity Framework 7 DbContext andamio

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

Pregunta

Estoy tratando de generar un DbContext para una estructura de base de datos existente utilizando ASP.NET 5 y Entity Framework 7. No es sorprendente que no haya mucha documentación sobre cómo hacer esto fácilmente. Además, quiero andar SOLAMENTE el contexto; hay ~ 900 mesas y solo me interesan unas pocas, no necesito una clase modelo para cada una.

He estado usando los comandos especificados aquí y aquí con poca suerte.

Entonces, supongo que tengo dos preguntas:

  1. ¿Dónde se encuentran los archivos de contexto generados? Ejecuto el comando en el símbolo del sistema sin error, pero no sucede nada más. Sé que estoy al menos en el lugar correcto, ya que puedo agregar el antiguo modelo EF6 con propiedades no admitidas y me da un error que no son compatibles.

  2. ¿Es posible generar solo un contexto sin clases modelo correspondientes?

Respuesta popular

Tuve el mismo problema con mi proyecto generando el contexto y los modelos. Aquí hay algunas cosas que hice.

Actualizaciones para 1.0 RC1 abajo

Proyecto.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": { }
  }

Comando DNX

  "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": { }
  }

Post original abajo

Asegúrese de que estos se agreguen a su archivo 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": { }
  }

Actualice dnvm y los tiempos de ejecución de dnx también utilizando dnvm update-self y dnvm upgrade . Corrí esto en cmd.

Se abrió cmd.exe en la ubicación del proyecto (si está en Windows, vaya a la carpeta y presione Mayús + clic derecho en la carpeta y haga clic en "Abrir ventana de comandos aquí"). En mi caso tuve un proyecto separado para mi capa de acceso a datos, por ejemplo.

  "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": { }
  }

Entonces simplay corrí:

dnx ef dbcontext scaffold "Fuente de datos =.; Catálogo inicial = base de datos; Seguridad integrada = Verdadera" EntityFramework.SqlServer

Asegúrese de que su proyecto puede construir. Si hay errores, los comandos probablemente no funcionen.

Generó todos los modelos, así como el contexto (con la configuración OnModelCreating () de cada entidad). Si no necesita todos los modelos, simplemente elimine los que no esté usando.

Así que para responder a sus preguntas:

  1. Crea los modelos y el contexto en la carpeta donde ejecutó el andamio dnx ef dbcontext.
  2. No puedo ver ningún comando que te permita hacer esto todavía. Ejecute dnx ef --help en cmd y búsquelo usted mismo. dnx ef

Espero que esto ayude.




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué