Creación de Entidades y Operaciones CRUD en Tablas Cosmos DB
Resumen
¿Cómo crear una entidad para insertar elementos en una tabla con Azure Cosmos DB?
¡Es hora de poner a trabajar tus habilidades de programación y gestión de datos! Confiando en tus capacidades, estarás listo para crear entidades que te permitan insertar elementos en tus tablas de Azure Cosmos DB. Antes de empezar, asegúrate de que tu explorador de recursos ya muestra la tabla que creaste anteriormente. Un simple "Refresh" debería actualizar la vista.
¿Cómo escribir la clase de contacto?
Primero, vamos a crear una clase que actúe como la entidad para tus operaciones. En el proyecto actual, abre la carpeta "TableConsole" y escribe un nuevo archivo llamado Contacto.cs. Aquí es donde se utilizará la referencia a Microsoft Azure para trabajar con tu nueva clase.
usingMicrosoft.Azure.Cosmos.Table;// Definir la clase Contacto que hereda de TableEntity y todas sus propiedadespublicclassContacto:TableEntity{// Método constructor sin parámetrospublicContacto(){}// Constructor con parámetros para apellido y nombrepublicContacto(string lastName,string firstName){ PartitionKey = lastName; RowKey = firstName;}// Propiedades adicionalespublicstring Email {get;set;}publicstring Telefono {get;set;}}
¿Cómo construir un método para insertar datos?
El siguiente paso es definir un método estático en tu consola que se encargue de realizar la inserción. Usa la clase "Contacto" creada previamente para incluir la información.
privatestaticasyncTaskInsertarContacto(){// Crear un nuevo contactovar contacto =newContacto("Espinosa","Ami"){ Email ="ami@correo.com", Telefono ="5518341574"};// Posiciona la operación de provisión de la tablaTableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(contacto);// Ejecutar la operación de inserciónawait table.ExecuteAsync(insertOrMergeOperation); Console.WriteLine("Contacto insertado o actualizado");}
¿Cómo ejecutar y verificar la inserción?
Después de definir tu método para insertar o actualizar el contacto, ejecuta tu proyecto para asegurarte de que todo esté funcionando como esperas. Puedes usar el siguiente código al final de tu método principal:
awaitInsertarContacto();
Finalmente, compila y corre tu aplicación. Si todo está configurado correctamente, verás un mensaje confirmando que el contacto ha sido insertado o actualizado. No te olvides de verificar en tu explorador de entidades y disfruta de la certeza de que tu contacto está ahora en la base de datos.
¿Qué ventajas ofrece la operación de insertado en Cosmos DB?
Trabajar con Azure Cosmos DB te ofrece la flexibilidad de opciones como Azure SQL o Cosmos como base de datos. Decide cuál se adapta mejor a tus necesidades específicas y experimenta con las operaciones CRUD para mejorar tus habilidades en gestión de datos. ¡Sigue explorando estos temas fascinantes y no dudes en comentar tus experiencias o preferencias!
Recuerda siempre complementar tus conocimientos con los recursos adicionales sugeridos en tu curso. Las prácticas te ayudarán a dominar el proceso y las famosas operaciones CRUD (Create, Read, Update, Delete) esenciales en bases de datos.
tableStorage es una buena opcion para nuevo proyectos donde necesitemos almacenar informacion no tan relacional.
TableOperation insertOperation =TableOperation.InsertOrMerge(contacto);TableResult result =await table.ExecuteAsync(insertOperation);Contacto insertedContact = result.ResultasContacto;Console.WriteLine("contacto agregado");
No entendi esa relacion rara entre Storage y Cosmos, buscaré mas informacion de eso pero excelente ejercicio!
Excelente. Alguien tiene un ejemplo de como se implementaría en una arquitectura MVC?
gracias
Aunque respondo un año despues, espero que le sirva a alguien. Lo más simple que puedes hacer es definir un contrato (interface) con las operaciones (por ejemplo, CRUD) que quieras hacer con tu entidad (o modelo). Luego construyes la implementación de dicha interfaz de la mano de TableClient.
Nota: Dicha implementación haria parte de tu capa de datos.