Similar presentations:
Введение в Entity Framework Core
1.
Введение вEntity Framework Core
2.
Что такое Entity Framework?Entity Framework Core - object-relational mapping (ORM).
Может использоваться на различных платформах стека .NET.
консольные приложения
Windows Forms
WPF
UWP
ASP.NET Core
EF Core можно использовать на ОС Windows, на Linux и Mac OS X.
3.
4.
Что такое Entity Framework?Объектная модель — это группа связанных между собой классов приложения,
использующихся для хранения данных из БД;
ORM — Object Relationl Mapping или «отображение объектов в связанные
таблицы».
Контекст БД — это специальный класс, производный от системного класса
DbContext и предназначенный для установления связи с БД и для выполнения
запросов к БД .
Сущность — это класс, соответствующий таблице БД, автоматически
создаваемый Entity Framework. Свойства этого класса соответствуют полям
таблицы. Cущности могут быть связаны ассоциативной связью один-комногим, один-ко-одному и многие-ко-многим, подобно тому, как в реальной
базе данных происходит связь через внешние ключи.
5.
Запросы в EF CoreLINQ to Entities — это расширение LINQ для создания запросов к Conceptual
model (т.е. к объектам классов приложения) на языках C# или VB.
Entity SQL — представляет собой независимый от хранилища язык
запросов, аналогичный языку SQL. Entity SQL позволяет выполнять запросы
к данным сущности, представленным либо в виде объектов, либо в
табличной форме». Этот язык несколько сложнее LINQ to Entities и
требует специального рассмотрения.
6.
Способы создания Entity Data ModelDatabase first
Model first
Code First
7.
Чтобы работать с Entity Framework Core для MS SQL Server нужноподключить Microsoft.EntityFrameworkCore.SqlServer.
Создать базу данных: Microsoft.EntityFrameworkCore.Tools.
8.
Database firstВ Package Manager Console выполнить следующую команду:
Scaffold-DbContext "строка подключения" провайдер_бд
Для SqlServer, например:
Scaffold-DbContext “connection“ Microsoft.EntityFrameworkCore.SqlServer
9.
Тип данных БД в .NETint :
int
nchar :
string
bit :
bool
ntext :
string
char :
string
numeric : decimal
date :
DateTime
nvarchar : string
datetime : DateTime
real :
datetime2 : DateTime
smallint : short
decimal :
decimal
text :
string
float :
double
tinyint :
byte
money :
decimal
varchar :
string
float
10.
Lazy Loading11.
Lazy LoadingEF Standard Навигационное свойство загружается при обращении
EF Core Навигационное свойство загружается null (по умолчанию)
12.
“Lazy” LoadingЯвная загрузка
Include()
ThenInclude()
‘Lazy’ свойства обязательно должны быть помечены как virtual
13.
Советы по производительностиЕсли вы используете данные только для чтения
AsNoTracking()
Хорошенько подумайте о быстрой загрузке
Использовать Include(), ThenInclude() только при необходимости
14.
Миграции в командной строкеДобавить/удалить миграцию
dotnet ef migrations add “{name}”
dotnet ef migrations remove
Накатить обновление
dotnet ef database update