Исходный код вики EntityFramework | EntityFrameworkCore

Редактировал(а) Alexandr Fokin 2024/04/15 22:13

Последние авторы
1 |(% style="width:125px" %) |(% style="width:1359px" %)EntityFrameworkCore, Entity Framework Core, EF
2 |(% style="width:125px" %) |(% style="width:1359px" %)(((
3 ORM, которая позволяет использовать несколько различных подходов для взаимодействия с базой. ORM предоставляет возможность работать с таблицами так, будто это коллекции некоторых объектов c#, автоматически генерируя sql запросы для выполняемых операций.
4
5 Интерфейс [[IQueryable>>doc:Разработка.NET.C#.Коллекции.IQueryable.WebHome]] похож на IEnumerable (позволяет использовать LINQ), но при этом выражения ([[Expression tree>>Разработка.NET.C#.Рантайм и типы.Expression tree | Деревья выражений.WebHome]]), примененные к IQueryable, преобразуются в sql запрос.
6 В момент материализации IQueryable строит sql запрос, выполняет его, и сохраняет результат в коллекцию. Используется механизм трансляции с помощью реализации соответствующего хранилищу провайдера.
7
8 {{code language="c#"}}
9 // Где ^ - момент материализации коллекции (т.е. выполнение sql запроса и автоматического маппинга результата в c# array)
10 DbSet.Where(e => e.Id = "1").OrderBy(e => e.Id).^ToArray()
11
12 {{/code}}
13 )))
14 |(% style="width:125px" %)Варианты использования|(% style="width:1359px" %)(((
15 |(% style="width:126px" %)**Наименование**|(% style="width:326px" %)**Структура**|(% style="width:193px" %)**EntityFramework support**|(% style="width:236px" %)**EntityFrameworkCore support**|(% style="width:322px" %)**Конфигурация**
16 |(% style="width:126px" %)Code first|(% style="width:326px" %)Классы + DbContext -> Миграции -> БД|(% style="width:193px" %)+|(% style="width:236px" %)+|(% style="width:322px" %)Способы дополнительной настройки(((
17 * Атрибуты
18 * Fluent
19 )))
20 |(% style="width:126px" %)Database first|(% style="width:326px" %)Существующая БД -> DbContext + Классы|(% style="width:193px" %)+|(% style="width:236px" %)+|(% style="width:322px" %)
21 |(% style="width:126px" %)Schema first|(% style="width:326px" %)Схема -> Классы -> БД|(% style="width:193px" %)+|(% style="width:236px" %)-|(% style="width:322px" %)
22
23 [[image:Entity схема.png]]
24 )))
25 |(% style="width:125px" %) |(% style="width:1359px" %)[[Реализация связей между таблицами>>doc:Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.Механизмы.Реализация связей между таблицами.WebHome]]
26
27 ----
28
29 ==== Внутренние ссылки: ====
30
31 ====== Дочерние страницы: ======
32
33 {{children/}}
34
35 ====== Обратные ссылки: ======
36
37 {{velocity}}
38 #set ($links = $doc.getBacklinks())
39 #if ($links.size() > 0)
40 #foreach ($docname in $links)
41 #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
42 * [[$escapetool.xml($rdoc.fullName)]]
43 #end
44 #else
45 No back links for this page!
46 #end
47 {{/velocity}}
48
49 ----
50
51