Sobes.tech
Junior

Milliste ORM-idega olete töötanud?

sobes.tech AI

Vastus AI-lt

Ma töötasin mitmete ORM-idega .NET ökosüsteemis:

  • Entity Framework (EF) ja Entity Framework Core (EF Core): Need on kõige levinumad ORM-id, millega olen töötanud. Kasutanud neid erinevates projektides, töötades SQL Serveri, PostgreSQLi ja SQLite andmebaasidega. Mul on kogemusi nii Code First kui ka Database First lähenemisviisidega. Olen töötanud migratsioonidega, LINQ-päringutega, entiteetidevahelise sideme haldamise ja jõudluse optimeerimisega.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Lihtne LINQ-päring näide
    }
    
  • Dapper: Kuigi Dapper on mikro-ORM, kasutan seda aktiivselt projektides, kus on vaja kõrget jõudlust andmetöötluses või paindlikumat SQL-päringute kontrolli. Seda kasutatakse sageli andmete lugemiseks, samas kui EF-d kasutatakse kirjetega ja entiteetide haldamiseks.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // SQL Serveri näide
    
    public class UserRepository
    {
        private readonly string _connectionString;
    
        public UserRepository(string connectionString)
        {
            _connectionString = connectionString;
        }
    
        public IEnumerable<User> GetActiveUsers()
        {
            using (IDbConnection db = new SqlConnection(_connectionString))
            {
                // Dapperi kasutamine puhtale SQL-päringule
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core on minu peamine ORM uute projektide jaoks tänu selle kaasaegsele disainile, ristplatvormilisusele ja laiale funktsionaalsusele. Dapper kasutatakse olukordades, kus on vaja maksimaalset jõudlust või otsest kontrolli SQL-i üle.