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