Sobes.tech
Junior

С коя база данни работихте и как взаимодействахте с нея?

sobes.tech AI

Отговор от AI

Работих с:

  • SQL Server
  • PostgreSQL
  • MySQL
  • SQLite

Взаимодействието се осъществяваше чрез:

  1. ORM (Object-Relational Mapper): Основно използвах Entity Framework Core за достъп до данните. Това позволява работа с базата данни чрез обекти C#, намалявайки количеството написан SQL код и осигурявайки по-голяма гъвкавост.

    // Пример за използване на Entity Framework Core
    using (var context = new MyDbContext())
    {
        var users = context.Users.Where(u => u.RegistrationDate > someDate).ToList();
        // Друга работа с колекцията users
    }
    
  2. ADO.NET: За по-ниско ниво на взаимодействие с базата данни, когато е необходим точен контрол върху SQL заявките или работим с бази данни без ORM.

    // Пример за използване на ADO.NET с 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();
            // Друга работа с count
        }
    }
    
  3. Mini-ORM / data mappers: В проекти, където ORM не беше оптимално решение (например, поради необходимост от висока производителност или специфични заявки), използвах библиотеки като Dapper.

    // Пример за използване на Dapper
    using (IDbConnection db = new SqlConnection(connectionString))
    {
        var projects = db.Query<Project>("SELECT ProjectName, StartDate FROM Projects WHERE EndDate IS NULL").ToList();
        // Друга работа с колекцията projects
    }
    
  4. SQL заявки: Писах T-SQL (за SQL Server), PL/pgSQL (за PostgreSQL) за изпълнение на специфични заявки, създаване на съхранявани процедури, тригери и др. Това обикновено се правеше чрез инструменти за управление на бази данни (SSMS, pgAdmin) или чрез ADO.NET/ORM с използване на ExecuteSqlRaw / FromSqlRaw в Entity Framework Core.