Один код може взаємодіяти з різними базами даних MY SQL Server, Oracle, MySql
ORM-framework дозволяє просто прив'язати ваш клас до БД не використовуючи SQL-запити
Якщо БД вже є, тоді робимо так Generate from DB:
Database -> (Model) -> .NET object
Або навпаки
.NET object -> Database
Або Empty model
Model -> .NET object -> Database
Console Application (VS 2015)
Створюємо папку: DataModel
Додаємо в неї модель даних: Add -> New Items -> Data -> ADO.NET Entity Data Model
Назва: UniversityContext
Обираємо: Empty Code First model (Спочатку код)
Видаляємо коментарі в створеному файлі
Рядок підключення зав'язаний на локальну версію MicrosoftSQLServer знаходиться в App.Config
Додаємо в папку DataModel клас: Student
ADO.NET - набір бібліотек
IDbConnection
IDbCommand
IDbReader
Entity Framework - це надбудова над ADO.NET
NuGet -> Entity Framework - додати бібліотеку
Add -> New Item -> ADO.NET Entity Data Model - додаємо модель
Generate From DB
New connection -> Microsoft SQL Server (SqlClient), (LocalDB)\v11.0, обрати DB name
Test Connection
Обираємо таблиці (крім діаграм)
Закінчити
Відкривається графічна модель, де можна змінити назви класів
Зберегти (іконка)
DbName.edmx -> DbName.Context.tt -> DbName.Context.cc - клас з доступом до полів
main
var castomers = GetCastomersEf();
foreach (var castomer in castomers) {
...
}
private static List<Castomer> GetCastomersEf(){
var context = new DbNameContext();
var castomers = context.castomers.ToList();
return castomers;
}