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ą:
-
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 } -
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 } } -
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 } -
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/FromSqlRaww Entity Framework Core.