Теневые свойства позволяют хранить дополнительные данные, которые не отображаются в модели сущности. Они особенно полезны для внутренних метаданных или информации об аудите, которые не должны быть частью публичного API — модели выглядят чище, но при этом хранят нужные данные.
Глобальные фильтры запросов автоматически применяют условия ко всем запросам без необходимости ручной фильтрации. Это особенно мощный инструмент для реализации мягкого удаления, мультитенантности или контроля доступа. После настройки фильтры применяются повсеместно во всём приложении, что снижает дублирование кода и предотвращает случайную утечку данных.
Альтернативные ключи позволяют определить дополнительные ограничения уникальности помимо первичного ключа. Это полезно, когда нужно обеспечить уникальность полей вроде адресов электронной почты или внешних идентификаторов — уникальность гарантируется на уровне базы данных, без необходимости делать их первичным идентификатором.
Пользовательские соглашения позволяют стандартизировать то, как Entity Framework Core интерпретирует твои модели. Вместо того чтобы постоянно настраивать похожие свойства и связи вручную, соглашения позволяют тебе:
Это значительно снижает объём повторяющейся конфигурации.
Перехватчики дают тебе возможность перехватывать и модифицировать SQL-запросы перед их выполнением. Типичные сценарии использования:
Эти возможности часто упускают из виду, хотя при грамотном применении они дают ощутимые преимущества. Они помогают писать более поддерживаемый код, применять бизнес-правила на уровне базы данных и избавиться от повторяющейся конфигурации. Освоив эти инструменты, ты заметно прокачаешь и владение Entity Framework, и архитектуру своих приложений.
Shadow properties в Entity Framework хранятся в базе данных и могут быть напрямую доступны через свойства твоего класса сущности, что делает их полностью прозрачными для твоего публичного API.
Новый — ещё не проверен сообществом
Вы