S jakými ORM jste pracoval?
sobes.tech AI
Odpověď od AI
Pracoval jsem s několika ORM v ekosystému .NET:
-
Entity Framework (EF) a Entity Framework Core (EF Core): Jedná se o nejrozšířenější ORM, se kterými jsem pracoval. Používal jsem je v různých projektech, pracujíc s databázemi SQL Server, PostgreSQL a SQLite. Mám zkušenosti jak s přístupem Code First, tak Database First. Pracoval jsem s migracemi, LINQ dotazy, správou vztahů mezi entitami a optimalizací výkonu.
using (var context = new ApplicationDbContext()) { var users = context.Users .Where(u => u.IsActive) .ToList(); // Příklad jednoduchého LINQ dotazu } -
Dapper: Ačkoliv je Dapper mikro-ORM, aktivně jsem ho používal v projektech, kde byla požadována vysoká výkonnost při práci s daty nebo flexibilnější kontrola nad SQL dotazy. Často se používal pro čtení dat, zatímco EF byl používán pro zápisové operace a správu entit.
using System.Data; using Dapper; using Microsoft.Data.SqlClient; // Příklad pro SQL Server public class UserRepository { private readonly string _connectionString; public UserRepository(string connectionString) { _connectionString = connectionString; } public IEnumerable<User> GetActiveUsers() { using (IDbConnection db = new SqlConnection(_connectionString)) { // Příklad použití Dapper pro provedení čistého SQL dotazu return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList(); } } }
EF Core je hlavní ORM pro nové projekty díky modernímu designu, multiplatformní podpoře a široké sadě funkcí. Dapper se používá v případech, kdy je potřeba maximální výkon nebo přímá kontrola nad SQL.