Sobes.tech
Junior

¿Con qué base de datos ha trabajado y cómo ha interactuado con ella?

sobes.tech AI

Respuesta de la IA

Trabajé con:

  • SQL Server
  • PostgreSQL
  • MySQL
  • SQLite

La interacción se realizó a través de:

  1. ORM (Object-Relational Mapper): Principalmente utilicé Entity Framework Core para acceder a los datos. Esto permite trabajar con la base de datos usando objetos C#, reduciendo la cantidad de código SQL escrito y proporcionando mayor flexibilidad.

    // Ejemplo de uso de Entity Framework Core
    using (var context = new MyDbContext())
    {
        var users = context.Users.Where(u => u.RegistrationDate > someDate).ToList();
        // Trabajo adicional con la colección users
    }
    
  2. ADO.NET: Para una interacción de nivel más bajo con la base de datos, cuando se necesita un control preciso sobre las consultas SQL o se trabaja con bases de datos sin ORM disponible.

    // Ejemplo de uso de ADO.NET con SQL Server
    string connectionString = "Server=myServer;Database=myDb;User Id=myUser;Password=myPassword;";
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        string sql = "SELECT COUNT(*) FROM Users WHERE IsActive = @isActive";
        using (SqlCommand command = new SqlCommand(sql, connection))
        {
            command.Parameters.AddWithValue("@isActive", true);
            int count = (int)command.ExecuteScalar();
            // Trabajo adicional con count
        }
    }
    
  3. Mini-ORM/data mappers: En proyectos donde ORM no era la mejor opción (por ejemplo, por necesidad de alto rendimiento o consultas específicas), usé bibliotecas como Dapper.

    // Ejemplo de uso de Dapper
    using (IDbConnection db = new SqlConnection(connectionString))
    {
        var projects = db.Query<Project>("SELECT ProjectName, StartDate FROM Projects WHERE EndDate IS NULL").ToList();
        // Trabajo adicional con la colección projects
    }
    
  4. Consultas SQL: Escribí T-SQL (para SQL Server), PL/pgSQL (para PostgreSQL) para realizar consultas específicas, crear procedimientos almacenados, triggers, etc. Esto generalmente se hacía a través de herramientas de gestión de bases de datos (SSMS, pgAdmin) o mediante ADO.NET/ORM usando ExecuteSqlRaw / FromSqlRaw en Entity Framework Core.