Об этом проекте
EF Core — современный объектно-реляционный маппер (ORM) для .NET, поддерживаемый Microsoft под эгидой .NET Foundation и распространяемый по лицензии MIT. Он сопоставляет объекты .NET с реляционными и нереляционными базами данных и обеспечивает трансляцию LINQ-запросов, отслеживание изменений, обновления и миграции схемы.
Поддержка баз данных широка: охвачены SQL Server, Azure SQL Database, SQLite, Azure Cosmos DB, MariaDB, MySQL и PostgreSQL, а другие базы данных доступны через API плагинов-провайдеров. Пакеты распространяются на NuGet; вы устанавливаете пакет провайдера, соответствующий вашей целевой базе данных, например Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Sqlite или Microsoft.EntityFrameworkCore.Cosmos. Предварительные версии можно выбрать с помощью параметра --version, а ежедневные сборки публикуются для пользователей, которым нужны новейшие функции и исправления до официальных релизов.
Типичное использование сосредоточено вокруг подкласса DbContext. В README показано добавление сущности, вызов SaveChanges, выполнение запросов с помощью LINQ (OrderBy, First), обновление свойств и связанных коллекций, а также удаление сущностей — всё через один и тот же контекст. Полное руководство, охватывающее настройку контекста, определение модели и создание базы данных, доступно по ссылке в документации.
В репозитории также размещён Microsoft.Data.Sqlite — лёгкий ADO.NET-провайдер для SQLite. Провайдер EF Core для SQLite построен поверх него, но библиотеку можно использовать независимо или с другими библиотеками доступа к данным. Она реализует общие абстракции ADO.NET для соединений, команд и читателей данных, что иллюстрируется коротким примером, который открывает SqliteConnection, создаёт команду и читает строки.
Оба проекта можно собрать из исходного кода на машине разработчика как альтернативу использованию готовых пакетов NuGet. Вклад сообщества в виде исправлений ошибок, улучшений и документации приветствуется через руководство по участию. Каналы поддержки включают Stack Overflow для вопросов об использовании и GitHub issues для сообщений об ошибках и запросов функций. Среди дополнительных ресурсов перечислены документация, дорожная карта, еженедельные отчёты о состоянии, планирование релизов, руководство по написанию провайдера EF Core, заметки по безопасности и кодекс поведения.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.