Entity Framework – це посередник між класами і різними БД:
My SQL Server, Oracle, MySQL, postgreSQL
- EF – не потребує SQL-запитів
- Е більш захищений від SQL-ін'єкцій
- Пишемо однаковий код для різних БД, різниця лише в їх підключенні
- Працюємо з об'єктами та їх колекціями, а не з таблицями
Мінуси: через посередника трохи падає продуктивність,
при великих навантаженнях переходимо на чистий ADO.NET
NuGet-пакети
Microsoft.EntityFrameworkCore.SqlServer – лише для одної БД (у разі помилки – беремо попередню версію)
EntityFramework – для усіх БД
Microsoft.EntityFrameworkCore.Tools – для моделі Code First
Code First – на основі коду
DB First – на основі БД
Model-First – на основі графічної-моделі
Міграція – синхронізує БД з новими полями у класах
Package Manager Console -> Add-Migration Назва (потрібні NuGet-пакети)
Взаємодія з БД відбувається через спеціальний клас
public class AnyClassName : DbContext { public DbSet<User> Users { get; set; } public ApplicationContext() { Database.EnsureCreated(); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("Server=DESKTOP-FJ7A2PR;Database=MyDataBaseName;Trusted_Connection=True;"); } }
public class User { [Key] public int UserCode { get; set; } public string Name { get; set; } public string Password { get; set; } }
Package Manager Console
Add-Migration Initial
[ Більше ]