С коя база данни работихте и как взаимодействахте с нея?
sobes.tech AI
Отговор от AI
Работих с:
- SQL Server
- PostgreSQL
- MySQL
- SQLite
Взаимодействието се осъществяваше чрез:
-
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 } -
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 } } -
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 } -
SQL заявки: Писах T-SQL (за SQL Server), PL/pgSQL (за PostgreSQL) за изпълнение на специфични заявки, създаване на съхранявани процедури, тригери и др. Това обикновено се правеше чрез инструменти за управление на бази данни (SSMS, pgAdmin) или чрез ADO.NET/ORM с използване на
ExecuteSqlRaw/FromSqlRawв Entity Framework Core.