Με ποια βάση δεδομένων εργάστηκες και πώς αλληλεπιδράσατε μαζί της;
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) για την εκτέλεση συγκεκριμένων ερωτημάτων, δημιουργία αποθηκευμένων διαδικασιών, triggers κ.λπ. Αυτό γινόταν συνήθως μέσω εργαλείων διαχείρισης βάσεων δεδομένων (SSMS, pgAdmin) ή μέσω ADO.NET/ORM με χρήση
ExecuteSqlRaw/FromSqlRawστο Entity Framework Core.