Sobes.tech
Junior

S akou databázou ste pracovali a ako ste s ňou komunikovali?

sobes.tech AI

Odpoveď od AI

Pracoval s:

  • SQL Server
  • PostgreSQL
  • MySQL
  • SQLite

Interakciu som vykonával cez:

  1. ORM (Object-Relational Mapper): Väčšinou som používal Entity Framework Core na prístup k dátam. To umožňuje pracovať s databázou pomocou objektov v jazyku C#, znižuje množstvo písaného SQL kódu a poskytuje väčšiu flexibilitu.

    // Príklad použitia Entity Framework Core
    using (var context = new MyDbContext())
    {
        var users = context.Users.Where(u => u.RegistrationDate > someDate).ToList();
        // Ďalšia práca s kolekciou users
    }
    
  2. ADO.NET: Pre nižšiu úroveň interakcie s databázou, keď je potrebná jemná kontrola nad SQL dotazmi alebo je potrebná práca s databázami, pre ktoré neexistujú hotové ORM.

    // Príklad použitia ADO.NET s 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();
            // Ďalšia práca s count
        }
    }
    
  3. Mini-ORM/dátové mapovače: V projektoch, kde ORM nebol optimálnym riešením (napríklad kvôli potrebe vysokej výkonnosti alebo špecifickosti dotazov), som používal knižnice ako Dapper.

    // Príklad použitia Dapper
    using (IDbConnection db = new SqlConnection(connectionString))
    {
        var projects = db.Query<Project>("SELECT ProjectName, StartDate FROM Projects WHERE EndDate IS NULL").ToList();
        // Ďalšia práca s kolekciou projects
    }
    
  4. SQL dotazy: Písal som T-SQL (pre SQL Server), PL/pgSQL (pre PostgreSQL) na vykonávanie špecifických dotazov, tvorbu uložených procedúr, triggerov a pod. Väčšinou to bolo cez nástroje na správu databáz (SSMS, pgAdmin) alebo prostredníctvom ADO.NET/ORM s použitím ExecuteSqlRaw / FromSqlRaw v Entity Framework Core.