Hangi ORM'ler ile çalıştınız?
sobes.tech yapay zeka
AI'dan gelen yanıt
.NET ekosisteminde birkaç ORM ile çalıştım:
-
Entity Framework (EF) ve Entity Framework Core (EF Core): En yaygın ORM'lerdir ve bunlarla çalıştım. SQL Server, PostgreSQL ve SQLite veritabanlarıyla çeşitli projelerde kullandım. Code First ve Database First yaklaşımlarıyla deneyimim var. Göçler, LINQ sorguları, varlıklar arasındaki ilişkilerin yönetimi ve performans optimizasyonu üzerinde çalıştım.
using (var context = new ApplicationDbContext()) { var users = context.Users .Where(u => u.IsActive) .ToList(); // Basit bir LINQ sorgusu örneği } -
Dapper: Dapper mikro-ORM olmasına rağmen, yüksek performans gerektiren veya SQL sorguları üzerinde daha esnek kontrol isteyen projelerde aktif olarak kullandım. Genellikle veri okuma işlemleri için kullanılırken, EF yazma ve varlık yönetimi işlemleri için kullanıldı.
using System.Data; using Dapper; using Microsoft.Data.SqlClient; // SQL Server örneği public class UserRepository { private readonly string _connectionString; public UserRepository(string connectionString) { _connectionString = connectionString; } public IEnumerable<User> GetActiveUsers() { using (IDbConnection db = new SqlConnection(_connectionString)) { // Dapper kullanarak saf SQL sorgusu çalıştırma örneği return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList(); } } }
EF Core, modern tasarımı, çapraz platform desteği ve geniş özellik seti sayesinde yeni projeler için ana ORM'ımdır. Dapper ise maksimum performans veya doğrudan SQL kontrolü gereken durumlarda kullanılır.