Hangi veritabanı ile çalıştınız ve onunla nasıl etkileşim kurdunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
İşte şu veritabanlarıyla çalıştım:
- SQL Server
- PostgreSQL
- MySQL
- SQLite
İletişim şu yollarla sağlandı:
-
ORM (Object-Relational Mapper): Genellikle Entity Framework Core kullanarak verilere eriştim. Bu, veritabanıyla C# nesneleri kullanarak çalışmayı sağlar, yazılan SQL kodunu azaltır ve daha fazla esneklik sunar.
// Entity Framework Core kullanım örneği using (var context = new MyDbContext()) { var users = context.Users.Where(u => u.RegistrationDate > someDate).ToList(); // users koleksiyonuyla devam eden çalışmalar } -
ADO.NET: Veritabanıyla daha düşük seviyede etkileşim için, SQL sorguları üzerinde hassas kontrol gerektiğinde veya ORM olmayan veritabanlarıyla çalışırken kullanılır.
// SQL Server ile ADO.NET kullanım örneği 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(); // sayıyla devam } } -
Mini-ORM / data mappers: ORM'nin optimal olmadığı projelerde (örneğin yüksek performans veya özel sorgular gerekliyse), Dapper gibi kütüphaneler kullandım.
// Dapper kullanımı örneği using (IDbConnection db = new SqlConnection(connectionString)) { var projects = db.Query<Project>("SELECT ProjectName, StartDate FROM Projects WHERE EndDate IS NULL").ToList(); // projects koleksiyonuyla devam } -
SQL sorguları: T-SQL (SQL Server için), PL/pgSQL (PostgreSQL için) yazdım, belirli sorguları çalıştırmak, saklı prosedürler, tetikleyiciler oluşturmak gibi işlemler için. Bu genellikle veritabanı yönetim araçları (SSMS, pgAdmin) veya ADO.NET/ORM kullanılarak
ExecuteSqlRaw/FromSqlRawile yapılır.