Para los que le aparece este error A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.). Tienen que agregar la siguiente linea de codigo cuando se hace lo de Scaffold TrustServerCertificate=Yes. quedaria algo así: Scaffold-DbContext "server=localhost; database=MVVCRUD; integrated security=true; TrustServerCertificate=Yes" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
00:45 Starts creating the project 01:34 Starts adding Nugget packs (Microsoft.EntityFrameworkCore.Tools & Microsoft.Entity.......Core.SqlServer) 02:54 Start creating the database on SqlServer. 03:58 The importance of and ID Identity and Primary Key column. 05:02 Opening the Nugget Pack Manager Console in order to run Scaffold-DbContext "connection string" and Scaffolding location (Microsft.EntityFrameworkCore.SqlServer -OutPutDir Models). 07:13 Advice from Microsft in order to secure the sensitive info (in the Connection String) 07:55 Accesing Microsoft docs (linked article 723263) 08:22 JSON Connection String format
gracias brother explicas muy bien, veo tus instructorias de UML con el ingeniero William y explicas muy bien cualquier tema, espero y siga subiendo mas videos como este.
Excelente tutorial me sirvió con dotNet 8 y algunos ajustes minimos, espero y logre retener la información para mi prueba técnica de mañana, sigue creando contenido asi. Saludos y muchas gracias
Hola... mañana tengo una prueba practica acerca de C#-Web para un puesto de trabajo y espero que este fácil. 😭😭 Lo bueno es que pude corregir el error que tuve anteriormente y ahora todo el crud funciona muy bién, muchas gracias por su video me ayudó mucho ya que soy nueva con esto.
si tienen problemas para la conexiona la BDD con esto jala PM> Scaffold-DbContext "server=SERVIDOR; database=BASE_DE_DATOS; Trusted_Connection=SSPI; Encrypt=false; TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SQLServer -OutPutDir Models
Dapper no ofrece una funcionalidad específica para ello. Dapper es más ligero y se centra en el mapeo manual de resultados de consultas SQL a objetos, sin proporcionar herramientas automáticas de generación de código como el scaffold de Entity Framework.
Crack total!! Like y suscrito, tengo una duda, en unos dias tengo una prueba tecnica de levantar una abm con tablas de sql, tal cual esta aca, sql domino pero escribir codigo de 0 en .net me sigue costando, si aplico esta herramienta estaria mal? Gracias!!
¡Hola! Usar herramientas como el scaffold de Entity Framework no está mal, especialmente si te ayuda a ganar tiempo y ser más productivo. El scaffold genera el código base automáticamente a partir de tus tablas SQL, lo cual es excelente para empezar rápidamente. Sin embargo, también es importante entender lo que genera y saber hacer ajustes o personalizaciones según sea necesario. Si tienes la oportunidad, te recomendaría practicar un poco escribiendo código manualmente para familiarizarte más con .NET. ¡Mucha suerte en tu prueba técnica!
Debes ejecutar el comando en la terminal con el Scaffold pero especificando la tabla nueva, sino te recreará todos lo modelos y controladores, perdiendo los cambios manuales si los hubieren. Puedes especificar solo la nueva tabla en el comando Scaffold-DbContext para evitar sobrescribir los modelos existentes. A continuación se muestra un ejemplo de cómo hacerlo: Scaffold-DbContext "Your_Connection_String" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables NewTableName
Consulta, porque al crear el proyecto con MVC tal como se muestra en el video a mi no me aparecen las carpetas "dependencias", "connected services" y todas las demás que a vos te aparecen? desde ya muchas gracias.
No son carpetas. Las opciones "Dependencias" y "Connected Services" en el explorador de Visual Studio de un proyecto ASP.NET MVC .NET Core se utilizan para gestionar las dependencias y servicios conectados en el proyecto. Hay algunas razones por las cuales las opciones "Dependencias" y "Connected Services" pueden no aparecer en el explorador de Visual Studio para un proyecto ASP.NET MVC .NET Core: - El proyecto no está basado en .NET Core: Las opciones "Dependencias" y "Connected Services" solo aparecen en proyectos que están basados en .NET Core. Si el proyecto no está basado en .NET Core, es posible que estas opciones no aparezcan. - La versión de Visual Studio no es compatible: Las opciones "Dependencias" y "Connected Services" pueden no aparecer en versiones antiguas de Visual Studio. Si estás usando una versión antigua de Visual Studio, es posible que estas opciones no aparezcan. - La plantilla del proyecto no admite dependencias o servicios conectados: Algunas plantillas de proyecto pueden no incluir las opciones "Dependencias" y "Connected Services". En este caso, es posible que debas agregar manualmente las dependencias o servicios que necesites. - El proyecto se creó sin las opciones de dependencias o servicios conectados: Es posible que hayas creado el proyecto sin habilitar las opciones de dependencias o servicios conectados. En este caso, es posible que debas habilitar estas opciones manualmente.
@@InfoToolsSV muchas gracias por la respuesta, miro y miro el vídeo y no encuentro donde está el error. Tengo el visual studio 2022 y sigo los pasos tal cual se muestran en el vídeo. El problema que al dar crear el proyecto Ami no me aparecen las carpetas q te aparecen a vos. Es más no me aparece ninguna.
@@DrIdeaYT ¿No te aparece ninguna carpeta? Deberían estar en el proyecto creado, en la ventana del explorador, al menos las carpetas que forman parte obligatoriamente de la estructura del proyecto, como: Models, Views, Controllers, etc.
En ese caso, revisa la configuración de tu IDE al igual que las características. Intenta abrir la carpeta del proyecto desde Visual Studio. Sino, abre el proyecto desde un editor como VS Code y trabaja ahí.
excelente video muchas gracias, una pregunta, cuando le doy en details el me lo muestra el registro, ese registro como lo guardo como pdf ? , si me pudieras ayudar seria fantastico, muchas gracias
Hola muy buena Explicacion. Me podrias ayudar, en mi caso no puedo realizar la parte de la consola del administrador de paquetes, ya que realizo los pasos que muestras en el video pero me muestra este error: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.) el cual no se porque sea, te lo agradeceria mucho que me puedas ayudar. Saludos
Una solucion a tu problema es agregar en el connection string lo siguiente: Encrypt=False Te recomiendo actualizar tu servidor y asegurarte de usar el paquete Microsoft.Data.SqlClient.
Hola yo tenia el mismo problema que tu , intenta con esta cadena: Scaffold-DbContext "Server=localhost ; Database=yourdatabasename; Trusted_Connection=SSPI; Encrypt=false; TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models si no te funciona con localhost intenta con el nombre de tu servidor en SQL server
Excelente explicacion, me quedo una duda, si creo mas tablas despues en en mi base de datos, como puedo hacer que se agregen al context ? tengo que volver a ejecutar el comando y volver a configurar la conexion ? o existe alguna manera mas facil ?
Sólo debes ejecutar el comando de Scaffold, puedes especificar las nuevas tablas que quieres que genere, para que no regenere los CRUD existentes. Esa sería la forma más fácil y rápida. Saludos.
Hola! yo necesito ayuda con un error al momento de ingresar el comando por consola de administrador de paquetes ya que se crea el archivo context pero no se crea el archivo con la tabla que cree en SQL server management
Puedes implementar el procedimiento almacenado en los métodos del controlador, tengo un vídeo del que puedes tomar la idea: th-cam.com/video/ti4wN-jFMEk/w-d-xo.html
Hola buenas tardes, estoy ejecutando el Scaffold y me sale este error: PM> Scaffold-DbContext "server=NANCY\SQLEXPRESS; database=mvccrud; integrated security=true;" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models Build started... Build succeeded. Se detuvo el comando en ejecución porque la variable de preferencia "ErrorActionPreference" o un parámetro común se han establecido en Stop: El término 'dotnet' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo. Ya probé colocándole localhost y tampoco funciona. :(
El mensaje de error indica que el término 'dotnet' no se reconoce como un comando válido. Esto puede deberse a que el SDK de .NET Core no está instalado en el sistema o no se ha agregado a la variable de entorno PATH. Para solucionar este problema, puede intentar lo siguiente: Asegurarse de que el SDK de .NET Core esté instalado en su sistema. Agregar la ruta de acceso a la carpeta bin del SDK de .NET Core a la variable de entorno PATH.
@@InfoToolsSV Muchas gracias por responder.... hice lo que menciona pero continua con el mismo error, no se que mas hacer para solucionar este error.😓😢
muy buen video, pero como podría hacer que halla tablas relacionales , campos que relacionen una tabla con otra y que muestre la relaciona en el campo detalle ?
Si ya tienes las tablas creadas y relacionadas en SQL Server, puedes utilizar Entity Framework para generar el modelo de datos correspondiente en tu aplicación y aprovechar las relaciones existentes. Es importante tener en cuenta que, al generar el modelo de datos a partir de las tablas existentes, Entity Framework intentará inferir las relaciones automáticamente basándose en las claves foráneas existentes en las tablas. Sin embargo, en algunos casos, puede que necesites realizar ajustes manuales en las configuraciones de las relaciones en la clase DbContext.
Excelente video, me ayudó bastante solamente tengo una consulta, en mi caso en el apartado de fecha Entitiy Framework no me lo reconoció como un date, sino como un texto normal ¿qué podría hacer en este caso?
podes hacer una version don dapper? en vez de entity ? Con dapper tengo entendido q podes hacer la consulta sin depende del modelo u objeto para mapear. Es dinamico si mal no entendi.
Sí, es posible utilizar Dapper en lugar de Entity Framework para realizar operaciones CRUD en una aplicación ASP.NET Core MVC. Como bien dices, Dapper es un micro ORM que permite trabajar de manera más dinámica y eficiente con la base de datos, sin tener que depender tanto de los modelos o entidades. En lugar de utilizar un scaffold para generar el código de las operaciones CRUD basado en un modelo de Entity Framework, se puede crear el código manualmente utilizando Dapper para interactuar con la base de datos. Es importante tener en cuenta que con Dapper, el mapeo entre los objetos de la aplicación y las tablas de la base de datos se realiza de manera más manual que con Entity Framework, lo que puede requerir más trabajo de desarrollo. En resumen, si deseas utilizar Dapper en lugar de Entity Framework, debes crear manualmente las operaciones CRUD y trabajar de manera más directa con la base de datos, pero a cambio obtendrás una mayor flexibilidad y eficiencia en el manejo de los datos. Haré un vídeo al respecto.
Excelente video, muy interactivo y todo me funcionó. Si pudieras hacer un ejemplo de algún formulario web para conectarlo con la base de datos, por ejemplo alguna cotización o agendar una reservación, te lo agradecería mucho. Saludos desde Costa Rica.
Hola, a la hora de agregar un controlador en el 15:30 me sale un error "No se pudo compilar el proyecto. Corrija los errores de compilación y vuelva a intentarlo" me podrías echar una mano? Gracias.
Debes depurar el proyecto y ver qué errores tienes sin corregir antes de intentar agregar un controlador. Revisa las líneas de código que te marcan error.
An unhandled exception occurred while processing the request. SqlException: El nombre de objeto 'UsuarioModel' no es válido. Microsoft.Data.SqlClient.SqlCommand+c.b__188_0(Task result) Me sale este error alguno le paso?
Debes revisar que el modelo exista con ese nombre, tambien puedes rehacer el scaffold para generar el DbContext, sino sólamente revisa que el DbContext contenga el DbSet correspondiente al modelo.
@@InfoToolsSV tengo también ese mismo problema, primero que nada gracias por tus videos ahora soy sub, pasa que cuando añado un campo nuevo al modelo de donde genere el crud, me sale eso, y he.intentado de todo ayuda porfavor.
cree una columna en la tabla materia llamado estatus de tipo bit, al crear el crud me viene por defecto TRUE Y FALSE, como hago para cambiarlo a activo e inactivo?
Los datos de tipo bit son boleanos, por lo tanto su valor real es True y False (1, 0). Si quieres cambiar su valor en la vista deberás modificar el resultado manualmente, sin embargo en la tabla siempre tendrá un valor de bit.
Hola me gustó mucho el video, solo tengo una una duda que hago para actualizar la base de datos en el .NET si agrego una nueva tabla o modifico una en la base de datos de sql server cuando ya conecté la base de datos en el .net?
@@InfoToolsSV Tengo que escribir Scaffold, despues Update y el nombre de mi base de datos?, porque intenté escribir el Update con el comando completo pero no funcionó
Hola buen dia, Muy bueno sus videos. Tengo algo que no he podido resolver, ojala usted pueda ayudarme. He creado mas campos, pero alguno de ellos no quiero que sera requeridos es decir que sean opcionales, al momento de crear un nuevo registro no me permite porque esos campos están vacíos, he modificado el archivo Create.cshtml en los campos no requeridos no me muestra la alerta de campo requerido pero me exige poner un dato, si agrego directamente en la base de datos un registro si me lo permite, pero desde el formulario no. Donde mas tengo que revisar para solucionarlo? Agradezco de antemano si me puede ayudar. Saludos y muchas gracias por compartir sus conocimientos 👍🏻
Asegúrate de que los campos que deseas que sean opcionales en tu formulario también sean opcionales en tu modelo de datos. Es decir, si estás usando data annotations como [Required], asegúrate de que no los estés aplicando a los campos que deben ser opcionales. Revisa el método en tu controlador que maneja la creación del nuevo registro. Si estás usando el atributo [HttpPost], puede que tengas validaciones personalizadas o lógica de validación que esté requiriendo esos campos opcionales.
@@InfoToolsSV Muchas gracias por responder. Al parecer todo esta bien tanto en el formulario, en el modelo y en el controlador, tendrá algún video donde tenga campo no requerido para guiarme, Saludos
Compañero muy buen video ... Tengo una pregunta, para poder crear este crud automaticamente este me pide que mi modelo tenga una llave primaria, pero como hago si mi tabla no tiene llaves primarias ?
En Entity Framework, la llave primaria es requerida por defecto para cada tabla, pero hay algunas opciones que puedes utilizar para solucionar el caso de no necesitar una llave primaria en una tabla. Si no utilizas el scaffold y creas los modelos y las migraciones manualmente, puedes definir la tabla sin una clave primaria. Pero en general, es recomendable tener una clave primaria definida en una tabla ya que facilita la identificación y manipulación de registros específicos. Además, muchas tecnologías y marcos de trabajo asumen que una tabla tendrá una clave primaria definida y pueden requerirla para funcionar correctamente. Ten en cuenta que, aunque esto es posible, es una práctica poco común y puede tener implicaciones en el rendimiento y la integridad de tus datos. Es recomendable usar una llave primaria real siempre que sea posible.
En vez de usar una base de datos en local como la que usas ("conexion": "server=localhost; database=MVCCRUD; integrated security=true;") supongo que se puede usar una base de datos en remoto ya existente ¿habría que hacer más cambios aparte del ConnectionStrings en el archivo appsettings.json?
a migo eres un capo la manera mas facil que he visto de hacer un crud deberias ser prosesor y hacer mas cursos de estos puedes subir un curso usando una apisrest con mvc por favor y explicarlo paso a paso crack
Excelente video Brother! solo una pregunta: al momento de agregar el controlador de MVC que usa vistas de EntityFramework, me salta un error que dice "Error Error al ejecutar el generador de códigos seleccionado: • No database provider has been configured for this DbContext, A provider can be configured by overriding the 'DbContext.OnConfiguring' method or by using 'AddDbContext' on the application semice provider, If 'AddDbContext' is used, then also ensure that your DbContext type accepts a object in its constructor and passes it to the base constructor for DbContext,• a que se debe eso y como puedo solucionarlo? Gracias de antemano
Hola, gracias por tu comentario. Con respecto a tu consulta: Verifica la cadena de conexión en appsettings.json Agrega el contexto en Startup.cs o en el archivo Program.cs (según la versión de .NET) Asegúrate de que tu DbContext esté configurado con el proveedor de base de datos adecuado (como SQL Server).
lo que necesitaba, solo me hace falta es crear la vista para hacer un buscador de lo que se le agrege a la bd, pregunta que tema utilizars para ponerle imagenes de fono a vs, esta brutal
@@InfoToolsSV Mi base de datos esta diseñada con un campo VARBINARY para guardar imagenes, que tengo que hacer para que el campo de imagen en la creacion sea para subir una imagen?
Hola, verifica que las llaves foráneas en tu modelo estén configuradas correctamente y que se estén asignando valores apropiados a ellas. También asegúrate de que estén correctamente referenciadas en el modelo y en la base de datos. Verifica que la relación entre las tablas en la base de datos esté definida correctamente y que las tablas relacionadas estén correctamente configuradas en tu modelo. Si has realizado cambios en la base de datos y no los has reflejado en tu modelo, esto podría estar causando el error. Asegúrate de que tu modelo esté sincronizado con la base de datos.
Estas en desarrollo, a menos que hayas instalado un certificado de seguridad en tu proyecto, es normal que el navegador te notifique que no tienes el .cert para SSL. Simplemente continúa al sitio.
hola a mi me sale esto a que se debe: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.) cuando ejecuto Scaffold-DbContext "server=localhost; database=MVCCRUD; integrated security=true;" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models
Para hacer pruebas unitarias en un proyecto ASP.NET Core MVC con Entity Framework, primero crea un nuevo proyecto de pruebas en tu solución. Luego, instala los paquetes necesarios como xUnit, xUnit.runner.visualstudio, Moq, y Microsoft.EntityFrameworkCore.InMemory. Configura el contexto de datos de EF Core para usar una base de datos en memoria. Añade clases de pruebas en el proyecto de pruebas, una por cada controlador o servicio que quieras probar, y utiliza la inyección de dependencias para inyectar el contexto de datos en memoria y cualquier otra dependencia. Escribe métodos de prueba para cada acción de controlador o método de servicio, usando xUnit para las aserciones, y utiliza Moq para simular comportamientos de dependencias externas. Inicializa datos de prueba en el contexto de datos en memoria antes de cada prueba y ejecuta las pruebas desde el Test Explorer de Visual Studio, asegurándote de que todas pasen. Finalmente, refactoriza el código del controlador o servicio según sea necesario para asegurar que las pruebas sean robustas y manejables.
@@InfoToolsSV gracias bro, es que me dejaron esa clase de la uni, el problema es que ya a la hora de empezar con lo de pruebas unitarias no entiendo mucho
Tengo un problema. al crear el controlador me da error pese a tener cuidado con el paso del llamado de la cadena de conexión. Dice que el usuario canceló el dialogo de copia pese a yo no hacer nada y me indica este codigo de error: exception from hresult 0x8004000c
Ese error suele ocurrir por falta de permisos de acceso a ciertos archivos, te recomiendo ejecutar VS con permisos de administrador y corroborar si se solventa.
Muy buen video, Excelente explicación. ¿Tengo una pregunta: cuando tengo más tablas, y estas están relacionadas (Fk) tengo que hacer algo diferente para que me funcione el crud en esa tabla? Porque no he podido solucionar ese problema, seria de grana ayuda si me respondes, gracias.
Gracias por tu comentario, en tu caso, recomiendo realizar el proceso de forma manual para tener mejor control en los procesos, así administras las tablas relacionadas de forma independiente y sus cambios se verán reflejados síncronamente. Saludos.
Este vídeo no es una Web API. Sin embargo, si tiene una API de .NET Core que proporciona datos de productos, podría crear un servicio en Angular para recuperar los productos de la API utilizando HttpClient. En el servicio, especificaría la URL base de la API y el endpoint de los productos, y luego utilizaría HttpClient para enviar una solicitud HTTP GET para recuperar los datos.
Holaaa, tengo un problema, me funciona todo excepto el crear y actualizar, y no me da ningún error ni nada :( el error me lo da con una tabla relacional
Es posible que el problema se deba a una restricción de clave externa (foreign key constraint) en la tabla relacional que esté causando problemas al intentar crear o actualizar los registros. Una posible solución es verificar si se están asignando los valores correctos a la tabla relacional al momento de crear o actualizar los registros. Es posible que la tabla relacional requiera que se especifique el valor de la clave foránea (foreign key) para poder crear o actualizar los registros correctamente. Otra posible solución es verificar si la relación entre las tablas se ha configurado correctamente. Es importante asegurarse de que la relación entre las tablas esté correctamente definida en el modelo de datos y en la configuración de Entity Framework. También puede ser útil habilitar el registro de consultas y verificaciones de Entity Framework para obtener más información sobre lo que está sucediendo en el proceso de creación o actualización de los registros. En cualquier caso, es importante revisar cuidadosamente el código y la configuración para identificar cualquier posible problema y solucionarlo adecuadamente.
Todo el contenido de T-SQL es independiente del tipo de proyecto, así que sí puedes usarla. Los paquetes también puedes agregarlos a un proyecto WinForms, sin embargo, debes validar la versión y compatibilidad.
EF Code Generator will only create models based on your existing database tables. If you don't have a table named Usuarios, you won’t get a model for it.
Claro que si, depende del formato que necesites puedes aplicarlo en el código fuente: learn.microsoft.com/en-us/dotnet/api/system.datetime.tostring?view=net-6.0
Excelente video, lo he visto poco, pero lo vi muy útil, como veo, este se puede usar como una api y consumir con una api intermedia, o estoy equivocado?, saludos desde Costa Rica
En Visual Studio sólamente tengo instalado un tema y una extensión llamada ClaudiaIDE. marketplace.visualstudio.com/items?itemName=kbuchi.ClaudiaIDE marketplace.visualstudio.com/items?itemName=DennisStanze.nordic-001
Tengo una consulta, al momento de ya crear todo, cuando quiero visualizar los datos me salen duplicados o bueno me sale solo el primer registros y se repiten hasta el total de registros que hay en la tabla, pongo un ejemplo : "Tengo un usuario id:1 , nombre:sebastian el total de registros que tengo son 3 y se repiten 3 veces el mismo id y el nombre" si alguien podria ayudarme, de ante mano se lo agradezco muchisimo ando batallando con ese problema, gracias :D.
El problema que describes puede estar relacionado con cómo estás manejando la vista en tu proyecto de ASP.NET MVC. Asegúrate de que estás iterando correctamente sobre la colección de usuarios en tu vista. Por ejemplo, si estás usando un bucle foreach, asegúrate de que no estás repitiendo accidentalmente el mismo elemento. Asegúrate de que los datos que estás pasando a la vista no estén duplicados antes de enviarlos. Puedes depurar el código para verificar que _context.Usuarios.ToListAsync() devuelve los datos correctos. Saludos.
@@InfoToolsSV Gracias por responder, pero solo estoy retornando en una Lista por ejemplo en mi context lo tengo asi : " List listaMenu = Menu.FromSqlRaw($"EXEC Sp_Trae_Menu").ToList();" lo ando manejando con SP´S y para el controller solo llamo a ese metodo : " var Menu = _context.ListarMenuMaestros(empresa).ToList();" algo me faltaria ahi?
Nordic, era el nombre que tenía en ese momento. Creo que actualmente es éste: marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code
excelente video!!! tengo un pequeño gran problema :c no me muestra ninguna vista en usuarios y tengo todo tal cual lo tienes, que podría ser? ya investigue y no encuentro solución, saludos!!
Si EF no te agrega las vistas a pesar de seleccionar la opción: Agregar controlador MVC con vistas que usan EF Posiblemente tu error este en el IDE o paquete EF, por lo que deberás reinstalar las características para solucionar el error.
Es posible que al realizar el comando scaffold en la terminal, no se haya generado automáticamente la clase Usuario debido a que la tabla correspondiente a esta clase aún no ha sido creada en la base de datos. Para que la clase Usuario se genere automáticamente al utilizar el comando scaffold en la terminal, asegúrate de que la tabla correspondiente a la clase Usuario ya haya sido creada en la base de datos y que el contexto de Entity Framework esté correctamente configurado para reflejar dicha tabla.
@@InfoToolsSV muchas gracias por responder voy a seguir tus indicaciones ,aunque soy nuevo en esto ,configurado correctamente el entity framework te refieres que este instalado?
La verdad no sabia nada de asp.net pero gracias a unos videos incluso en tu canal ya estoy preparado para mi prueba técnica
Mucha suerte!
Para los que le aparece este error A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.). Tienen que agregar la siguiente linea de codigo cuando se hace lo de Scaffold TrustServerCertificate=Yes. quedaria algo así: Scaffold-DbContext "server=localhost; database=MVVCRUD; integrated security=true; TrustServerCertificate=Yes" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
me sale ese mismo pero me dice error:40 :(
gracias me sirvió
Me funcionó, gracias.
Gracias sirvió!
Estube buscando la solucion por 1h, hasta que di con ella, queria compartirla, pero veo que ya lo hicieron por aqui jajaja
00:45 Starts creating the project
01:34 Starts adding Nugget packs (Microsoft.EntityFrameworkCore.Tools & Microsoft.Entity.......Core.SqlServer)
02:54 Start creating the database on SqlServer.
03:58 The importance of and ID Identity and Primary Key column.
05:02 Opening the Nugget Pack Manager Console in order to run Scaffold-DbContext "connection string" and Scaffolding location (Microsft.EntityFrameworkCore.SqlServer -OutPutDir Models).
07:13 Advice from Microsft in order to secure the sensitive info (in the Connection String)
07:55 Accesing Microsoft docs (linked article 723263)
08:22 JSON Connection String format
Wow.
Impresionante.
Entendible, directo al grano, sin fisuras.
Gracias. Saludos!
Vengo a decir que al chile, tu tutorial es expendido, me salvaste y me enseñaste, ojala dios te vendige tu codigo y nunca tenga errores
Excelente, muchas gracias por esta forma de crear formularios que sinceramente creo que muy pocos de nosotros conociamos.
gracias brother explicas muy bien, veo tus instructorias de UML con el ingeniero William y explicas muy bien cualquier tema, espero y siga subiendo mas videos como este.
Excelente tutorial me sirvió con dotNet 8 y algunos ajustes minimos, espero y logre retener la información para mi prueba técnica de mañana, sigue creando contenido asi.
Saludos y muchas gracias
Maestro! Tenía muchas dudas y me acabas de aclarar todo, al fin entendí después de un tiempo. Mil gracias 🎉
Estupendo es muy ágil el CRUD de esta manera.
Gracias!
QUE BELLEZA DE VIDEO HERMANO, MUCHAS GRACIAS!!
eres el mejor crack, me sirvio por si ando rapido y debo hacer una prueba tecnica de un crud en mvc
Master!
Excelente forma de enseñar y compartir conocimientos.
Muchas Gracias
Hola, muchas gracias, saludos!
Muchas gracias por el video necesitaba aprender lo basico para una entrevista de .NET
Mucha suerte!
Excelente Video, muy sencillo y directo al punto. FELICIDADES!!!
Gracias, saludos!
Excelente tutorial, te sigo desde tu curso de WPF, Saludos!!
Muchas gracias por seguir aquí, saludos!
G R A C I A S, Me has salvado de titularme de tecnico en informatica
XD
Muy buen video
Explicas muy bien tu contenido y las tecnologías que utilizas
Recién estoy empezando mi canal, espero ir mejorando con el tiempo :)
AMEEEE, MUCHISIMAS GRACIAS POR ESTE VIDEO. ME SIRVIO BASTANTE PARA APRENDER
Excelente!
Fenomenal el aporte, muchas gracias!!!
Bro, eres un pro en esto, me salvaste de una!
Gracias, saludos!
El unico video que me ha servido, que crack T-T
Muchas gracias por toda esta informacion. Que gran manera de explicar.
Gracias por comentar, saludos!
Acabas de salvar mi calificacion de mi semestre con dos sencillos pasos 😂
Hola... mañana tengo una prueba practica acerca de C#-Web para un puesto de trabajo y espero que este fácil. 😭😭
Lo bueno es que pude corregir el error que tuve anteriormente y ahora todo el crud funciona muy bién, muchas gracias por su video me ayudó mucho ya que soy nueva con esto.
Te deseo lo mejor en el resultado de tu práctica, saludos!
@@InfoToolsSV Yo también, espero que me vaya bien :( tus videos son increibleS!
Amigo excelente explicación, muchas gracias me sirvió un monton!
Excelente!
si tienen problemas para la conexiona la BDD con esto jala
PM> Scaffold-DbContext "server=SERVIDOR; database=BASE_DE_DATOS; Trusted_Connection=SSPI; Encrypt=false; TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SQLServer -OutPutDir Models
1 crack
Gracias amigo, me has salvado :3
crack gracias
Gracias me salvaste.
me salvaste, graciaaaas
Excelente aportacion, solo por saber esto se puede logar genera pero con dapper, un like amigo
Dapper no ofrece una funcionalidad específica para ello. Dapper es más ligero y se centra en el mapeo manual de resultados de consultas SQL a objetos, sin proporcionar herramientas automáticas de generación de código como el scaffold de Entity Framework.
Incrediblemente genial tu explicacion, gracias
Hola, muchas gracias!
Excelente video! Muchas gracias.
Sería bueno un ejemplo parecido utilizando MySQL.
Felicitaciones por el canal!
Muchas gracias. Aquí el ejemplo: th-cam.com/video/1fJhAcPsVbE/w-d-xo.html
Buenísimo 👏
excelente, todo funciona, yo me conecte a una base de datos en Azure, muchas gracias... ya voy hacer otro👍
Excelente aporte, ya solo hace falta darle buen estilo a la pagina
Así es!
muchísimas gracias funcionó a la primera😄
Excelente!
maestrazo (aplausos) (like, suscrito y campanita)
Gracias por el apoyo!
Gracias man, Excelente Video 😉
Gracias, saludos!
increíble video , muchas gracias
Muchas gracias muy buen video!
Gracias a ti!
excelente video, muchas gracias.
Gracias a ti
Gracias por este video Bendiciones
Muchas tenkiu broder
Buenas, en las posteriores versiones de .net aun se deben seguir arreglando los builders y referenciando el using del modelo? 11:55
Si, es necesario, ya que el artículo de Microsoft es para versiones antiguas de .Net
muchisimas gracias, me gustaria ver como aplicarias el crud con stored procedures si se puede :3
Saludos papu!!!!!!!!
@@InfoToolsSV
gracias! me re sirvió ❤❤❤
Excelente!
Modelado con superUsuario==> Scaffold-DbContext "server=miservidor; database=mibase; User Id=miusuario;Password=mipass;Encrypt=false" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models
Crack total!! Like y suscrito, tengo una duda, en unos dias tengo una prueba tecnica de levantar una abm con tablas de sql, tal cual esta aca, sql domino pero escribir codigo de 0 en .net me sigue costando, si aplico esta herramienta estaria mal? Gracias!!
¡Hola! Usar herramientas como el scaffold de Entity Framework no está mal, especialmente si te ayuda a ganar tiempo y ser más productivo. El scaffold genera el código base automáticamente a partir de tus tablas SQL, lo cual es excelente para empezar rápidamente. Sin embargo, también es importante entender lo que genera y saber hacer ajustes o personalizaciones según sea necesario. Si tienes la oportunidad, te recomendaría practicar un poco escribiendo código manualmente para familiarizarte más con .NET. ¡Mucha suerte en tu prueba técnica!
Muy buena explicación
Hola, muchas gracias!
Saludos, si agrego otra tabla a la base de datos como hago para que se actualice y se agregue la nueva tabla al proyecto?
Debes ejecutar el comando en la terminal con el Scaffold pero especificando la tabla nueva, sino te recreará todos lo modelos y controladores, perdiendo los cambios manuales si los hubieren.
Puedes especificar solo la nueva tabla en el comando Scaffold-DbContext para evitar sobrescribir los modelos existentes. A continuación se muestra un ejemplo de cómo hacerlo:
Scaffold-DbContext "Your_Connection_String" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables NewTableName
@@InfoToolsSV muchísimas gracias eres un crak!!! Bendiciones
Consulta, porque al crear el proyecto con MVC tal como se muestra en el video a mi no me aparecen las carpetas "dependencias", "connected services" y todas las demás que a vos te aparecen? desde ya muchas gracias.
No son carpetas. Las opciones "Dependencias" y "Connected Services" en el explorador de Visual Studio de un proyecto ASP.NET MVC .NET Core se utilizan para gestionar las dependencias y servicios conectados en el proyecto.
Hay algunas razones por las cuales las opciones "Dependencias" y "Connected Services" pueden no aparecer en el explorador de Visual Studio para un proyecto ASP.NET MVC .NET Core:
- El proyecto no está basado en .NET Core: Las opciones "Dependencias" y "Connected Services" solo aparecen en proyectos que están basados en .NET Core. Si el proyecto no está basado en .NET Core, es posible que estas opciones no aparezcan.
- La versión de Visual Studio no es compatible: Las opciones "Dependencias" y "Connected Services" pueden no aparecer en versiones antiguas de Visual Studio. Si estás usando una versión antigua de Visual Studio, es posible que estas opciones no aparezcan.
- La plantilla del proyecto no admite dependencias o servicios conectados: Algunas plantillas de proyecto pueden no incluir las opciones "Dependencias" y "Connected Services". En este caso, es posible que debas agregar manualmente las dependencias o servicios que necesites.
- El proyecto se creó sin las opciones de dependencias o servicios conectados: Es posible que hayas creado el proyecto sin habilitar las opciones de dependencias o servicios conectados. En este caso, es posible que debas habilitar estas opciones manualmente.
@@InfoToolsSV muchas gracias por la respuesta, miro y miro el vídeo y no encuentro donde está el error. Tengo el visual studio 2022 y sigo los pasos tal cual se muestran en el vídeo. El problema que al dar crear el proyecto Ami no me aparecen las carpetas q te aparecen a vos. Es más no me aparece ninguna.
@@DrIdeaYT ¿No te aparece ninguna carpeta? Deberían estar en el proyecto creado, en la ventana del explorador, al menos las carpetas que forman parte obligatoriamente de la estructura del proyecto, como: Models, Views, Controllers, etc.
@@InfoToolsSV claro, se crea el proyecto, pero no aparece nada en la ventana del explorador
En ese caso, revisa la configuración de tu IDE al igual que las características. Intenta abrir la carpeta del proyecto desde Visual Studio. Sino, abre el proyecto desde un editor como VS Code y trabaja ahí.
excelente video muchas gracias, una pregunta, cuando le doy en details el me lo muestra el registro, ese registro como lo guardo como pdf ? , si me pudieras ayudar seria fantastico, muchas gracias
Entiendo, haré un vídeo para mostrar como guardar un registro a partir de un modelo en un archivo .PDF. Saludos.
Hola muy buena Explicacion.
Me podrias ayudar, en mi caso no puedo realizar la parte de la consola del administrador de paquetes, ya que realizo los pasos que muestras en el video pero me muestra este error:
A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.)
el cual no se porque sea, te lo agradeceria mucho que me puedas ayudar.
Saludos
Una solucion a tu problema es agregar en el connection string lo siguiente: Encrypt=False
Te recomiendo actualizar tu servidor y asegurarte de usar el paquete Microsoft.Data.SqlClient.
@@InfoToolsSV muchas gracias si me funciono, o ya veo y como hago eso si no es mucha la molestia.
Hola yo tenia el mismo problema que tu , intenta con esta cadena:
Scaffold-DbContext "Server=localhost ; Database=yourdatabasename; Trusted_Connection=SSPI; Encrypt=false; TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models
si no te funciona con localhost intenta con el nombre de tu servidor en SQL server
@@eleazarmonreal743 gracias intentare eso
@@eleazarmonreal743 salvaste la vida
Excelente explicacion, me quedo una duda, si creo mas tablas despues en en mi base de datos, como puedo hacer que se agregen al context ? tengo que volver a ejecutar el comando y volver a configurar la conexion ? o existe alguna manera mas facil ?
Sólo debes ejecutar el comando de Scaffold, puedes especificar las nuevas tablas que quieres que genere, para que no regenere los CRUD existentes. Esa sería la forma más fácil y rápida. Saludos.
Saludo necesito de tu ayuda con el programa, hay alguna manera contactarnos
Hola, sólo por correo o redes sociales disponibles en éste canal.
Hola! yo necesito ayuda con un error al momento de ingresar el comando por consola de administrador de paquetes ya que se crea el archivo context pero no se crea el archivo con la tabla que cree en SQL server management
Revisa el archivo .json, posiblemente la cadena de conexión no es correcta. Saludos.
Hola, una pregunta, Cómo puedo implementar un procedimiento almacenado para que haga las consultas? Gracias
Puedes implementar el procedimiento almacenado en los métodos del controlador, tengo un vídeo del que puedes tomar la idea: th-cam.com/video/ti4wN-jFMEk/w-d-xo.html
Gracias Muy Claro
Hola buenas tardes, estoy ejecutando el Scaffold y me sale este error:
PM> Scaffold-DbContext "server=NANCY\SQLEXPRESS; database=mvccrud; integrated security=true;" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models
Build started...
Build succeeded.
Se detuvo el comando en ejecución porque la variable de preferencia "ErrorActionPreference" o un parámetro común se han establecido en Stop: El término 'dotnet' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo.
Ya probé colocándole localhost y tampoco funciona. :(
El mensaje de error indica que el término 'dotnet' no se reconoce como un comando válido. Esto puede deberse a que el SDK de .NET Core no está instalado en el sistema o no se ha agregado a la variable de entorno PATH.
Para solucionar este problema, puede intentar lo siguiente:
Asegurarse de que el SDK de .NET Core esté instalado en su sistema.
Agregar la ruta de acceso a la carpeta bin del SDK de .NET Core a la variable de entorno PATH.
@@InfoToolsSV Muchas gracias por responder.... hice lo que menciona pero continua con el mismo error, no se que mas hacer para solucionar este error.😓😢
muy buen video, pero como podría hacer que halla tablas relacionales , campos que relacionen una tabla con otra y que muestre la relaciona en el campo detalle ?
Si ya tienes las tablas creadas y relacionadas en SQL Server, puedes utilizar Entity Framework para generar el modelo de datos correspondiente en tu aplicación y aprovechar las relaciones existentes.
Es importante tener en cuenta que, al generar el modelo de datos a partir de las tablas existentes, Entity Framework intentará inferir las relaciones automáticamente basándose en las claves foráneas existentes en las tablas. Sin embargo, en algunos casos, puede que necesites realizar ajustes manuales en las configuraciones de las relaciones en la clase DbContext.
Excelente video, me ayudó bastante
solamente tengo una consulta, en mi caso en el apartado de fecha Entitiy Framework no me lo reconoció como un date, sino como un texto normal
¿qué podría hacer en este caso?
En ese caso puedes hacer cambios manualmente, tanto para el modelo como controlador. Saludos.
podes hacer una version don dapper? en vez de entity ? Con dapper tengo entendido q podes hacer la consulta sin depende del modelo u objeto para mapear. Es dinamico si mal no entendi.
Sí, es posible utilizar Dapper en lugar de Entity Framework para realizar operaciones CRUD en una aplicación ASP.NET Core MVC. Como bien dices, Dapper es un micro ORM que permite trabajar de manera más dinámica y eficiente con la base de datos, sin tener que depender tanto de los modelos o entidades.
En lugar de utilizar un scaffold para generar el código de las operaciones CRUD basado en un modelo de Entity Framework, se puede crear el código manualmente utilizando Dapper para interactuar con la base de datos. Es importante tener en cuenta que con Dapper, el mapeo entre los objetos de la aplicación y las tablas de la base de datos se realiza de manera más manual que con Entity Framework, lo que puede requerir más trabajo de desarrollo.
En resumen, si deseas utilizar Dapper en lugar de Entity Framework, debes crear manualmente las operaciones CRUD y trabajar de manera más directa con la base de datos, pero a cambio obtendrás una mayor flexibilidad y eficiencia en el manejo de los datos.
Haré un vídeo al respecto.
Excelente video, muy interactivo y todo me funcionó. Si pudieras hacer un ejemplo de algún formulario web para conectarlo con la base de datos, por ejemplo alguna cotización o agendar una reservación, te lo agradecería mucho. Saludos desde Costa Rica.
Gracias por tu comentario, actualmente no tengo un vídeo con el tema que comentas, en el futuro realizaré uno, saludos!
pq no me ayudas🥺
Hola, a la hora de agregar un controlador en el 15:30 me sale un error "No se pudo compilar el proyecto. Corrija los errores de compilación y vuelva a intentarlo" me podrías echar una mano? Gracias.
Debes depurar el proyecto y ver qué errores tienes sin corregir antes de intentar agregar un controlador. Revisa las líneas de código que te marcan error.
An unhandled exception occurred while processing the request.
SqlException: El nombre de objeto 'UsuarioModel' no es válido.
Microsoft.Data.SqlClient.SqlCommand+c.b__188_0(Task result) Me sale este error alguno le paso?
Debes revisar que el modelo exista con ese nombre, tambien puedes rehacer el scaffold para generar el DbContext, sino sólamente revisa que el DbContext contenga el DbSet correspondiente al modelo.
@@InfoToolsSV tengo también ese mismo problema, primero que nada gracias por tus videos ahora soy sub, pasa que cuando añado un campo nuevo al modelo de donde genere el crud, me sale eso, y he.intentado de todo ayuda porfavor.
Lo solucionaste?
cree una columna en la tabla materia llamado estatus de tipo bit, al crear el crud me viene por defecto TRUE Y FALSE, como hago para cambiarlo a activo e inactivo?
Los datos de tipo bit son boleanos, por lo tanto su valor real es True y False (1, 0). Si quieres cambiar su valor en la vista deberás modificar el resultado manualmente, sin embargo en la tabla siempre tendrá un valor de bit.
Hola me gustó mucho el video, solo tengo una una duda que hago para actualizar la base de datos en el .NET si agrego una nueva tabla o modifico una en la base de datos de sql server cuando ya conecté la base de datos en el .net?
Para ello, aplica un Update con el comando Scaffold y esto actualizará tus modelos en base a la BD.
@@InfoToolsSV Gracias lo haré.
@@InfoToolsSV Tengo que escribir Scaffold, despues Update y el nombre de mi base de datos?, porque intenté escribir el Update con el comando completo pero no funcionó
Exelente una consulta como puedo hacer para agregar tablas si ya monte mi base de datos ?
Puedes actualizar el Scaffold para las nuevas tablas únicamente.
@@InfoToolsSV Cual seria el comando por favor
Hola buen dia, Muy bueno sus videos.
Tengo algo que no he podido resolver, ojala usted pueda ayudarme. He creado mas campos, pero alguno de ellos no quiero que sera requeridos es decir que sean opcionales, al momento de crear un nuevo registro no me permite porque esos campos están vacíos, he modificado el archivo Create.cshtml en los campos no requeridos no me muestra la alerta de campo requerido pero me exige poner un dato, si agrego directamente en la base de datos un registro si me lo permite, pero desde el formulario no. Donde mas tengo que revisar para solucionarlo? Agradezco de antemano si me puede ayudar.
Saludos y muchas gracias por compartir sus conocimientos 👍🏻
Asegúrate de que los campos que deseas que sean opcionales en tu formulario también sean opcionales en tu modelo de datos. Es decir, si estás usando data annotations como [Required], asegúrate de que no los estés aplicando a los campos que deben ser opcionales.
Revisa el método en tu controlador que maneja la creación del nuevo registro. Si estás usando el atributo [HttpPost], puede que tengas validaciones personalizadas o lógica de validación que esté requiriendo esos campos opcionales.
@@InfoToolsSV Muchas gracias por responder. Al parecer todo esta bien tanto en el formulario, en el modelo y en el controlador, tendrá algún video donde tenga campo no requerido para guiarme, Saludos
@@InfoToolsSV Ya resolví mi problema amigo John, muchas gracias por sus atenciones.
Un saludo 👍🏻
Compañero muy buen video ... Tengo una pregunta, para poder crear este crud automaticamente este me pide que mi modelo tenga una llave primaria, pero como hago si mi tabla no tiene llaves primarias ?
En Entity Framework, la llave primaria es requerida por defecto para cada tabla, pero hay algunas opciones que puedes utilizar para solucionar el caso de no necesitar una llave primaria en una tabla.
Si no utilizas el scaffold y creas los modelos y las migraciones manualmente, puedes definir la tabla sin una clave primaria. Pero en general, es recomendable tener una clave primaria definida en una tabla ya que facilita la identificación y manipulación de registros específicos. Además, muchas tecnologías y marcos de trabajo asumen que una tabla tendrá una clave primaria definida y pueden requerirla para funcionar correctamente.
Ten en cuenta que, aunque esto es posible, es una práctica poco común y puede tener implicaciones en el rendimiento y la integridad de tus datos. Es recomendable usar una llave primaria real siempre que sea posible.
En vez de usar una base de datos en local como la que usas ("conexion": "server=localhost; database=MVCCRUD; integrated security=true;") supongo que se puede usar una base de datos en remoto ya existente ¿habría que hacer más cambios aparte del ConnectionStrings en el archivo appsettings.json?
Hola, sólamente cambiando la cadena de conexión debe funcionar.
¿Y si el CRUD lo quiero implementar en el Home?
a migo eres un capo la manera mas facil que he visto de hacer un crud deberias ser prosesor y hacer mas cursos de estos puedes subir un curso usando una apisrest con mvc por favor y explicarlo paso a paso crack
Muchas gracias, tendré en cuenta hacer vídeos API REST, saludos!
Excelente video Brother!
solo una pregunta:
al momento de agregar el controlador de MVC que usa vistas de EntityFramework, me salta un error que dice "Error
Error al ejecutar el generador de códigos seleccionado:
• No database provider has been configured for this
DbContext, A provider can be configured by overriding the
'DbContext.OnConfiguring' method or by using
'AddDbContext' on the application semice provider, If
'AddDbContext' is used, then also ensure that your
DbContext type accepts a
object in its constructor and passes it to the base constructor
for DbContext,•
a que se debe eso y como puedo solucionarlo?
Gracias de antemano
Hola, gracias por tu comentario. Con respecto a tu consulta:
Verifica la cadena de conexión en appsettings.json
Agrega el contexto en Startup.cs o en el archivo Program.cs (según la versión de .NET)
Asegúrate de que tu DbContext esté configurado con el proveedor de base de datos adecuado (como SQL Server).
Muchas gracias ;)
lo que necesitaba, solo me hace falta es crear la vista para hacer un buscador de lo que se le agrege a la bd, pregunta que tema utilizars para ponerle imagenes de fono a vs, esta brutal
Para la imagen de fondo usé ClaudiaIDE y si no mal recuerdo el tema Nordic de VS.
@@InfoToolsSV Mi base de datos esta diseñada con un campo VARBINARY para guardar imagenes, que tengo que hacer para que el campo de imagen en la creacion sea para subir una imagen?
Ayuda , no me deja guardar o crear en las tablas que tienen llaves foraneas
buen video :3
Hola, verifica que las llaves foráneas en tu modelo estén configuradas correctamente y que se estén asignando valores apropiados a ellas. También asegúrate de que estén correctamente referenciadas en el modelo y en la base de datos. Verifica que la relación entre las tablas en la base de datos esté definida correctamente y que las tablas relacionadas estén correctamente configuradas en tu modelo.
Si has realizado cambios en la base de datos y no los has reflejado en tu modelo, esto podría estar causando el error. Asegúrate de que tu modelo esté sincronizado con la base de datos.
Hola, como estas, me sale que la conexion no es privada, como lo soluciono
Estas en desarrollo, a menos que hayas instalado un certificado de seguridad en tu proyecto, es normal que el navegador te notifique que no tienes el .cert para SSL. Simplemente continúa al sitio.
Quisiera saber como hacerle referencia a la cadena de conexión sin tener que moverla.
Para hacer referencias haces uso del DbContext, ya que este hace uso del ConnectionString. Saludos.
Hola, ¿los métodos del CRUD son testeables a través de XUnit?
Sí, puedes realizar pruebas unitarias en un CRUD creado con Entity Framework en ASP.NET Core MVC usando xUnit, sólo deben configurarse las pruebas.
Me salvaste de mi Evaluación
Cual es el tema que utilizas??
El tema se llama Nordic, pero no sé si aún está disponible. Saludos.
hola a mi me sale esto a que se debe:
A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.) cuando ejecuto
Scaffold-DbContext "server=localhost; database=MVCCRUD; integrated security=true;" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models
Edita tu cadena de conexión agregando un Encrytp=false y un Trusted_Connection=true;
Saludos, como hago para hacer pruebas unitarias ya una vez terminado esto
Para hacer pruebas unitarias en un proyecto ASP.NET Core MVC con Entity Framework, primero crea un nuevo proyecto de pruebas en tu solución. Luego, instala los paquetes necesarios como xUnit, xUnit.runner.visualstudio, Moq, y Microsoft.EntityFrameworkCore.InMemory. Configura el contexto de datos de EF Core para usar una base de datos en memoria. Añade clases de pruebas en el proyecto de pruebas, una por cada controlador o servicio que quieras probar, y utiliza la inyección de dependencias para inyectar el contexto de datos en memoria y cualquier otra dependencia. Escribe métodos de prueba para cada acción de controlador o método de servicio, usando xUnit para las aserciones, y utiliza Moq para simular comportamientos de dependencias externas. Inicializa datos de prueba en el contexto de datos en memoria antes de cada prueba y ejecuta las pruebas desde el Test Explorer de Visual Studio, asegurándote de que todas pasen. Finalmente, refactoriza el código del controlador o servicio según sea necesario para asegurar que las pruebas sean robustas y manejables.
@@InfoToolsSV gracias bro, es que me dejaron esa clase de la uni, el problema es que ya a la hora de empezar con lo de pruebas unitarias no entiendo mucho
Tengo un problema. al crear el controlador me da error pese a tener cuidado con el paso del llamado de la cadena de conexión. Dice que el usuario canceló el dialogo de copia pese a yo no hacer nada y me indica este codigo de error: exception from hresult 0x8004000c
Ese error suele ocurrir por falta de permisos de acceso a ciertos archivos, te recomiendo ejecutar VS con permisos de administrador y corroborar si se solventa.
Muy Buen video
solo me queda la duda de ¿Cómo editar el tipo de input? por ejemplo para que no muestre la password al ver los detalles.
Gracias
Puedes deshabilitar el input, ocultarlo, o dejarlo en tipo password.
Buenas Noches. Esta misma codificación se puede realizar en Visual Studio Code?
Claro que sí, algunos pasos pueden variar por el entorno del IDE, pero la lógica es la misma.
Muy buen video, Excelente explicación. ¿Tengo una pregunta: cuando tengo más tablas, y estas están relacionadas (Fk) tengo que hacer algo diferente para que me funcione el crud en esa tabla? Porque no he podido solucionar ese problema, seria de grana ayuda si me respondes, gracias.
Gracias por tu comentario, en tu caso, recomiendo realizar el proceso de forma manual para tener mejor control en los procesos, así administras las tablas relacionadas de forma independiente y sus cambios se verán reflejados síncronamente. Saludos.
Como puedo crear el controller, si no tengo la consola de nuget, estoy usando Visual Studio Code.
Puedes crearlo con codegenerator desde la terminal, tengo vídeos que pueden servirte de ejemplo en generación automática de código. Saludos.
@@InfoToolsSV voy a ver los videos, gracias
Hola, muy buen tutorial, pero hay alguna manera de consumir esta API con Angular? he buscado documentación pero es un poco confusa.
Este vídeo no es una Web API. Sin embargo, si tiene una API de .NET Core que proporciona datos de productos, podría crear un servicio en Angular para recuperar los productos de la API utilizando HttpClient. En el servicio, especificaría la URL base de la API y el endpoint de los productos, y luego utilizaría HttpClient para enviar una solicitud HTTP GET para recuperar los datos.
Es válido para net core 8?? Pq la versión 6 no es compatible con los paquetes nugets que se agregan
Si lo es, debería ser compatible con .net 6, si usas .net 6 instala paquetes en versiones compatibles, si usas .net 8 la última versión es compatible.
Holaaa, tengo un problema, me funciona todo excepto el crear y actualizar, y no me da ningún error ni nada :( el error me lo da con una tabla relacional
Es posible que el problema se deba a una restricción de clave externa (foreign key constraint) en la tabla relacional que esté causando problemas al intentar crear o actualizar los registros.
Una posible solución es verificar si se están asignando los valores correctos a la tabla relacional al momento de crear o actualizar los registros. Es posible que la tabla relacional requiera que se especifique el valor de la clave foránea (foreign key) para poder crear o actualizar los registros correctamente.
Otra posible solución es verificar si la relación entre las tablas se ha configurado correctamente. Es importante asegurarse de que la relación entre las tablas esté correctamente definida en el modelo de datos y en la configuración de Entity Framework.
También puede ser útil habilitar el registro de consultas y verificaciones de Entity Framework para obtener más información sobre lo que está sucediendo en el proceso de creación o actualización de los registros.
En cualquier caso, es importante revisar cuidadosamente el código y la configuración para identificar cualquier posible problema y solucionarlo adecuadamente.
@@InfoToolsSV al final borré los controladores de la tabla en cuestión y lo volví a crear y funcionó jeje, pero gracias, muy amable
hola la primera mita de este video podría servir para formularios Windows (Winforms)?
Todo el contenido de T-SQL es independiente del tipo de proyecto, así que sí puedes usarla. Los paquetes también puedes agregarlos a un proyecto WinForms, sin embargo, debes validar la versión y compatibilidad.
trought models cant find the users file. Usuario.cs, can you help me find it, or why is isn"t appear
EF Code Generator will only create models based on your existing database tables. If you don't have a table named Usuarios, you won’t get a model for it.
Disculpa una pregunta, en el apartado de Fecha hay alguna manera que solo aparezca la fecha y no la hora como en el video ?
Saludos
Claro que si, depende del formato que necesites puedes aplicarlo en el código fuente: learn.microsoft.com/en-us/dotnet/api/system.datetime.tostring?view=net-6.0
Cuando le doy a usuarios me deja en el Home y ya cheque y está todo bien , a qué se debe alguien sabe ?
Asegúrate que el nav del _Layout haga el envío al controlador correcto en asp-controller="Usuarios"
Como puedo subir ese protecto a la web para que otras personas puedan refistrar su usuario?
Debes hacer la publicación del proyecto y luego usar un servicio FTP para transferir los archivos a un Hosting compatible con .Net.
como creo esto en visual studio code
Desde la terminal con una biblioteca: th-cam.com/video/K8mGWj7GxHU/w-d-xo.html
como creo otra tabla ?
Apartir de un modelo se actualizar con Scaffold. Haré un vídeo al respecto.
Que tal, tengo una duda cuando creo el proyecto no me aparecen las carpetas solo aparece mvccrud.sln y en el botón run pone "adjuntar"
Es porque has creado una solución, no un proyecto. Asegúrate de seleccionar las opciones correctas al configurar la creación de tu proyecto.
Excelente video, lo he visto poco, pero lo vi muy útil, como veo, este se puede usar como una api y consumir con una api intermedia, o estoy equivocado?, saludos desde Costa Rica
Efectivamente, la misma lógica aplica para un proyecto API.
Me gustaria saber como personalizaste el vs, no se podrias hacer un video explicando y gracias por el video me ayudo mucho :).
En Visual Studio sólamente tengo instalado un tema y una extensión llamada ClaudiaIDE.
marketplace.visualstudio.com/items?itemName=kbuchi.ClaudiaIDE
marketplace.visualstudio.com/items?itemName=DennisStanze.nordic-001
Tengo una consulta, al momento de ya crear todo, cuando quiero visualizar los datos me salen duplicados o bueno me sale solo el primer registros y se repiten hasta el total de registros que hay en la tabla, pongo un ejemplo : "Tengo un usuario id:1 , nombre:sebastian el total de registros que tengo son 3 y se repiten 3 veces el mismo id y el nombre" si alguien podria ayudarme, de ante mano se lo agradezco muchisimo ando batallando con ese problema, gracias :D.
El problema que describes puede estar relacionado con cómo estás manejando la vista en tu proyecto de ASP.NET MVC.
Asegúrate de que estás iterando correctamente sobre la colección de usuarios en tu vista. Por ejemplo, si estás usando un bucle foreach, asegúrate de que no estás repitiendo accidentalmente el mismo elemento.
Asegúrate de que los datos que estás pasando a la vista no estén duplicados antes de enviarlos. Puedes depurar el código para verificar que _context.Usuarios.ToListAsync() devuelve los datos correctos.
Saludos.
@@InfoToolsSV Gracias por responder, pero solo estoy retornando en una Lista por ejemplo en mi context lo tengo asi : " List listaMenu = Menu.FromSqlRaw($"EXEC Sp_Trae_Menu").ToList();" lo ando manejando con SP´S y para el controller solo llamo a ese metodo : " var Menu = _context.ListarMenuMaestros(empresa).ToList();" algo me faltaria ahi?
Que temas usas bro?
Nordic, era el nombre que tenía en ese momento. Creo que actualmente es éste:
marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code
excelente video!!! tengo un pequeño gran problema :c no me muestra ninguna vista en usuarios y tengo todo tal cual lo tienes, que podría ser? ya investigue y no encuentro solución, saludos!!
Si EF no te agrega las vistas a pesar de seleccionar la opción: Agregar controlador MVC con vistas que usan EF
Posiblemente tu error este en el IDE o paquete EF, por lo que deberás reinstalar las características para solucionar el error.
@@InfoToolsSV dale, lo volveré a hacer, muchas gracias!!!
hola porque no me crea una clase usuario pero si me crea mvccrudContext en la carpeta models agradecería tu respuesta gracias
Es posible que al realizar el comando scaffold en la terminal, no se haya generado automáticamente la clase Usuario debido a que la tabla correspondiente a esta clase aún no ha sido creada en la base de datos.
Para que la clase Usuario se genere automáticamente al utilizar el comando scaffold en la terminal, asegúrate de que la tabla correspondiente a la clase Usuario ya haya sido creada en la base de datos y que el contexto de Entity Framework esté correctamente configurado para reflejar dicha tabla.
@@InfoToolsSV muchas gracias por responder voy a seguir tus indicaciones ,aunque soy nuevo en esto ,configurado correctamente el entity framework te refieres que este instalado?