.net - framework - conexion ado net
No se puede encontrar la plantilla del modelo de datos de entidad de ADO.net en VS2017 (17)
Estaba tratando de crear una aplicación web ASP.NET MVC en Visual Studio 2017. Necesito adoptar un enfoque de primera base de datos de EF para el trabajo.
Desafortunadamente, no puedo encontrar la plantilla del modelo de datos de entidad de ADO.NET en mi carpeta de plantillas de "Datos":
He intentado seguir las sugerencias que no funcionaron para mí.
- Instalación de Entity Framework 6.x a través de NuGet
- Instalar el paquete manualmente haciendo doble clic en el último archivo msi
- Cambiando la versión de .NET de 4.6.x a 3.5
NOTA : Tengo VS 2015 y VS 2017 instalados en mi máquina. Sólo VS 2017 tiene el problema.
He creado el proyecto MVC de ASP.NET de la siguiente manera:
File -> New -> Project -> Web -> ASP.NET Web Application (.NET Framework) -> MVC
¿Alguien sabe una solución para este problema?
- Archivo -> Nuevo Proyecto
- Seleccione Web -> Imagen de la aplicación web ASP.NET (.NET Framework) 1
- Haga clic con el botón derecho en Modelos -> Agregar -> Nuevo elemento (Nota: no funcionará para otras carpetas como App_Data) imagen 2
- Elija Visual C # Luego imagen de modelo de datos de entidad ADO.NET 3
- Ir a Herramientas -> Obtener herramientas y características
- Seleccione la pestaña Componentes individuales y verifique las herramientas de Entity Framework 6 en la sección de SDK, bibliotecas y marco
- Vaya al Menú de herramientas de Visual Studio 2017 => Haga clic en Obtener herramientas y características.
- Expandir Más Dropdown => Haga clic en Modificar.
- Haga clic en los componentes individuales.
- Elija las herramientas de Entity Framework 6 en SDK, bibliotecas y marcos => Haga clic en Modificar
En mi caso, mi proyecto-> propiedades-> marco objetivo era 2.0, cambio a 4.5 y sé que funciona, sé que veo el modelo de datos de la entidad ado.net.
Es cierto que esta función no está disponible en Core y puede que no responda directamente a la pregunta. Pero Core ofrece la línea de comandos de ingeniería inversa que he utilizado con éxito para el proyecto con la base de datos existente.
Lo que debe hacer es ejecutar el siguiente comando en su Consola de Package Manager y generará modelos para usted según la base de datos existente:
Scaffold-DbContext ''Data Source=./SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True'' Microsoft.EntityFrameworkCore.SqlServer
O directamente desde la línea de comando usando dot net.
dotnet ef dbcontext scaffold "Data Source=./SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True" Microsoft.EntityFrameworkCore.SqlServer
Para obtener más información sobre esta función, puede leer más en la página de Microsoft:
https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding
Estaba teniendo el mismo problema en VS2017 Community Edition. Anteriormente había intentado seguir pero ninguno funcionó:
- Nueva característica instalada para "Herramientas de datos de SQL Server".
- Instaladas bibliotecas de NuGet.
Al final, tras una investigación más cercana, había apuntado al mal.
Ver Imagen: debería estar seleccionado .NET Framework en lugar de .NET Standard
Para mí, cambié al tipo de proyecto correcto mientras trabajaba Targeting ".NET framework" en lugar de ".NET Standard".
Mi solución fue copiar un archivo "edmx" de otro proyecto al proyecto con el núcleo de asp.net, y funciona a la perfección, con todas las funciones, el problema solo está en las plantillas disponibles en la lista.
No es una solución como tal, pero verifique que el proyecto que ha agregado sea para .NET Framework y no .NET Standard. Las plantillas para agregar elementos como ADO.NET Entity Data Model se incluyen para .NET Framework.
Para aquellos de ustedes que intentan las otras soluciones y aún no ven las plantillas ...
Tal vez esté intentando agregar ADO EF a un proyecto .NET Core 2.0, y EF no es compatible de inmediato .
Tienes 2 opciones:
- Instale Core 2.0 SDK y NuGet que tenga conocimiento de .NET Standard 2.0
- Utilice un proyecto .NET 4.x en lugar de Core
Recomiendo # 1. VS 2017 en realidad no tiene instalado el Core 2.0 SDK completo, ni está disponible en el instalador de VS (con el que muchos de los comentarios se enfrentan aquí).
Lo sé, confuso, ¿verdad?
Desde Microsoft:
"Necesitará descargar e instalar una versión del .NET Core 2.0 SDK que sea apropiado para su plataforma. Esto es cierto incluso si ha instalado Visual Studio 2017 versión 15.3".
"Para utilizar EF Core 2.0 o cualquier otra biblioteca .NET Standard 2.0 con plataformas .NET además de .NET Core 2.0 (por ejemplo, con .NET Framework 4.6.1 o superior), necesitará una versión de NuGet que conozca la .NET Standard 2.0 y sus frameworks compatibles "
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/
Ahora ... ¿tengo todo eso instalado y aún no ve la plantilla ADO? Creo que es porque está obsoleto / obsoleto. Esta es la forma de hacer que EF trabaje en .NET Core: https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
¡Espero que esto ayude! De nada.
Para resolver el problema anterior, puede modificar Visual Studio 2017. Puede seguir estos pasos.
Vaya a Panel de control / Programas / Programas y características de su computadora.
Seleccione Microsoft Visual Studio 2017, haga clic derecho sobre él y cambie.
Irá a la ventana de Productos de Visual Studio y ahora haga clic en el botón Modificar.
Ahora marque ASP.Net y la carga de trabajo de desarrollo web en la sección Web y nube y modifíquelo.
Finalmente lanzar Visual Studio 2017.
Parece que ha agregado "Class Library (.NET Standard)" que no es compatible con el modelo de datos de entidad de ADO.net. Puede agregar "Biblioteca de clases (.NET Framework)"
Primero cambie el marco de trabajo a 4.5.2 en la propiedad de su aplicación de proyecto. ingrese la descripción de la imagen aquí Simplemente haga clic derecho en su aplicación (no en la solución del proyecto) en el explorador de soluciones, seleccione Agregar menú y seleccione ADO.Net debajo de Agregar menú. Haz lo que quieras con ADO.NET. Buena suerte.
Simplemente abre la Visual studio setup
. Si ya instaló, elija modificar la sección y marque la opción de .NET desktop development
e instálela.
Sus herramientas para EF faltan. enitityframeworktools
ejecutar el instalador nuevamente y desde "seleccionar paquete" debe seleccionar enitityframeworktools
para obtener las opciones requeridas en su proyecto.
Tuve que crear un nuevo proyecto utilizando .Net 4.5.2, luego pude agregar el modelo de datos de entidad ADO.NET.
- Archivo -> Nuevo Proyecto
- Seleccione Web -> Aplicación web ASP.NET (.NET Framework)
- Establecer Framework en la parte inferior de la ventana a .NET Framework 4.5.2
- Usar plantilla vacía
- Haga clic derecho en la solución -> Agregar -> Nuevo elemento
- Seleccionar datos -> Modelo de datos de entidad ADO.NET
Visual Studio muestra los proyectos disponibles de acuerdo con el área donde hizo clic. Haga clic con el botón derecho en la raíz del nombre del proyecto -> agregar -> nuevo elemento -> Datos que podrá seleccionar Modelo de datos de entidad ADO.NET
en mi caso, había usado ADO .NET antes, así que sabía que estaba instalado ... así que simplemente escribí ADO en el cuadro de búsqueda en la esquina superior derecha, y ¡AHORA estaba, SOLUCIONADO! espero que esto ayude