- ORM (Object-Relational Mapping) nima va vazifasi?
ORM – bu obyektlar (C# klasslari) bilan ma’lumotlar bazasi jadvallari o‘rtasida bog‘lanish texnologiyasi.
Ya’ni, SQL yozmasdan, C# kod orqali ma’lumotlar bazasiga murojaat qilish imkonini beradi.
Vazifasi:
Kodni soddalashtirish
SQL yozishni kamaytirish
OOP bilan bazani boshqarish
👉 Masalan: User klassingiz bo‘lsa, ORM uni Users jadvali bilan bog‘lab beradi.
- Dapper va ADO.NET
ADO.NET
Bu past darajadagi texnologiya.
Siz qo‘lda SQL query yozasiz, SqlConnection, SqlCommand, SqlDataReader ishlatasiz.
Juda tez ishlaydi, lekin ko‘p kod yozish kerak.
Dapper
Bu yengil ORM.
SQL yozishingiz kerak, lekin u natijalarni avtomatik klasslarga map qilib beradi.
Tezligi ADO.NET darajasida, lekin ishlatish qulayroq.
👉 Dapper – ORM va ADO.NET o‘rtasidagi “oraliq” variant.
- Entity Framework (EF) nima?
EF – bu Microsoft ORM frameworki.
U orqali SQL yozmasdan, faqat C# klasslari bilan ishlash mumkin.
EF o‘zi query yaratib, bazaga yuboradi.
👉 Masalan:
var users = db.Users.ToList();
Bu kod ostida EF avtomatik SELECT * FROM Users SQL yozib bajaradi.
- Code First va CRUD operatsiyalari
Code First
Avval C# da klasslar yaratasiz (User, Product va hokazo).
EF shu klasslardan bazada jadval yaratadi.
Kod → Baza (Code First).
CRUD (asosiy amallar):
Create – qo‘shish (db.Users.Add(...))
Read – o‘qish (db.Users.ToList())
Update – yangilash (db.Users.Update(...))
Delete – o‘chirish (db.Users.Remove(...))
- EF Core nima va nima uchun kerak?
Entity Framework Core – EF ning yangi, engil va cross-platform versiyasi.
U Windows, Linux, Mac hamda .NET 5/6/7 bilan ishlaydi.
Qanday kerak?
Tezroq va moslashuvchan
Migration orqali bazani boshqarish
Katta loyihalarda SQL yozishni kamaytirish uchun
- DbContext nima?
DbContext – bu EF orqali baza bilan bog‘lanish markazi.
Unda DbSet lar bor.
U orqali siz CRUD operatsiyalarni bajarasiz.
👉 Misol:
public class AppDbContext : DbContext
{
public DbSet Users { get; set; }
}
- DbSet nimani bildiradi?
DbSet – bu ma’lumotlar bazasidagi jadvalning modeli.
Masalan, DbSet – bu Users jadvalini bildiradi.
👉 Kod:
db.Users.Add(new User { Name = "Ali" });
db.SaveChanges();
Bu kod INSERT INTO Users (Name) VALUES ('Ali') bajaradi.
- LINQ (Language Integrated Query)
LINQ – bu ma’lumotlar bilan ishlash uchun yozilgan C# sintaksisi.
U orqali massivlar, listlar, va bazadagi ma’lumotlar bilan query yozish mumkin.
👉 Misol:
var users = db.Users
.Where(u => u.Age > 18)
.OrderBy(u => u.Name)
.ToList();
Bu SQLda:
SELECT * FROM Users WHERE Age > 18 ORDER BY Name;
✅ Xulosa:
ORM – obyektlar va jadvallarni bog‘laydi.
ADO.NET – qo‘lda SQL yoziladi.
Dapper – tez va yengil ORM.
EF / EF Core – kuchli ORM, SQL yozmasdan ishlash mumkin.
DbContext – baza bilan aloqa nuqtasi.
DbSet – jadval modelini bildiradi.
LINQ – query yozish uchun C# sintaksisi.
Top comments (0)