Dev4Devs
11 subscribers
17 photos
6 files
43 links
Возможно, когда нибудь, этот канал с заметками на IT тематику превратиться в что-то большее, но пока тут только заметки
#dev #csharp #it #tips #development #code #prog #devops #software
Download Telegram
🦾 Создание контекста БД с EF tools
Database models creation with EF tools
#ef #entityframework #scaffold #context

dotnet ef dbcontext scaffold "{ConnectionString}" Microsoft.EntityFrameworkCore.SqlServer -o Models --data-annotations --context MainContext

После строки подключения нужно указать провайдера данных, скачанного из Nuget.

-o Models //папка в которой создадутся классы моделей и контекст
--data-annotations //создавать модели с атрибутами, а не через fluentApi
--context //имя класса создаваемого контекста
📦 Использование EF контекста в отдельном проекте Class Library
#ef #dotnet #entity_framework #separate_project

Команда для миграции, остальные аналогичною Запускать из папки проекта-библиотеки с параметром --startup-project :
dotnet ef migrations remove --startup-project ..\[папка проекта с внедренным контекстом]\[имя проекта].csproj

В самом проекте, где настроено внедрение контекста должно быть примерно следующее:
builder.Services.AddDbContext<MainContext>(o => o.UseSqlServer(builder.Configuration.GetConnectionString("Main")));

📎 Source
💾 Удобная обработка ограничения уникальности в EF Core с помощью дополнительной библиотеки.
Принцип работы: использования конструкций типа "insert or update" и др.
Удобное скоростное добавление данных без подзапросов или предварительной выборки.
Поддержка postgres, mssql и др.
#unique #handle #exception #ef #efcore #postgres

📦 FlexLabs.EntityFrameworkCore.Upsert
🔗 Link to GitHub