Sobes.tech
Junior

Z jaką bazą danych pracowałeś i jak z nią współdziałałeś?

sobes.tech AI

Odpowiedź od AI

Pracowałem z:

  • SQL Server
  • PostgreSQL
  • MySQL
  • SQLite

Interakcja odbywała się za pomocą:

  1. ORM (Object-Relational Mapper): Głównie korzystałem z Entity Framework Core do dostępu do danych. Umożliwia to pracę z bazą danych za pomocą obiektów C#, zmniejszając ilość napisanego kodu SQL i zapewniając większą elastyczność.

    // Przykład użycia Entity Framework Core
    using (var context = new MyDbContext())
    {
        var users = context.Users.Where(u => u.RegistrationDate > someDate).ToList();
        // Dalsza praca z kolekcją users
    }
    
  2. ADO.NET: Do niższego poziomu interakcji z bazą danych, gdy konieczna jest precyzyjna kontrola nad zapytaniami SQL lub praca z bazami danych bez ORM.

    // Przykład użycia ADO.NET z 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();
            // Dalsza praca z count
        }
    }
    
  3. Mini-ORM / data mappers: W projektach, gdzie ORM nie był optymalnym rozwiązaniem (np. ze względu na wymóg wysokiej wydajności lub specyficzne zapytania), korzystałem z bibliotek takich jak Dapper.

    // Przykład użycia Dapper
    using (IDbConnection db = new SqlConnection(connectionString))
    {
        var projects = db.Query<Project>("SELECT ProjectName, StartDate FROM Projects WHERE EndDate IS NULL").ToList();
        // Dalsza praca z kolekcją projects
    }
    
  4. Zapytania SQL: Pisałem T-SQL (dla SQL Server), PL/pgSQL (dla PostgreSQL) do wykonywania specyficznych zapytań, tworzenia procedur składowanych, triggerów itp. Zazwyczaj odbywało się to za pomocą narzędzi do zarządzania bazami danych (SSMS, pgAdmin) lub poprzez ADO.NET/ORM z użyciem ExecuteSqlRaw / FromSqlRaw w Entity Framework Core.