Основная установка Entity Framework (EF)
Эта функция доступна в NCache Предприятие и Professional издания.
Предпосылки
Текущая версия этого пакета поддерживает:
Установить пакет NuGet
Установите следующие пакеты NuGet в свое приложение, выполнив следующую команду в консоли диспетчера пакетов:
- EntityFrameworkCore.NCache для предприятия
Install-Package EntityFrameworkCore.NCache
- EntityFrameworkCore.NCache для профессионалов
Install-Package EntityFrameworkCore.NCache.Professional
Включить пространства имен
Чтобы использовать API, включите в свое приложение следующие пространства имен:
- Alachisoft.NCache.EntityFrameworkCore
- Alachisoft.NCache.Runtime.Caching
Пример кода
Пример кода для EF Core можно найти на GitHub.
Установка Entity Framework Core
EF Core поставляется как пакеты NuGet. Чтобы добавить EF Core в приложение, установите пакет NuGet для поставщика базы данных, который вы хотите использовать. Список доступных поставщиков баз данных см. в разделе «Поставщики баз данных».
Установить или обновить пакеты NuGet можно в интерфейсе командной строки (CLI) .NET Core, а также в диалоговом окне или консоли диспетчера пакетов Visual Studio.
Интерфейс командной строки .NET Core
- Чтобы установить или обновить поставщик EF Core SQL Server, выполните следующую команду интерфейса командной строки .NET Core в командной строке операционной системы:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Диалоговое окно диспетчера пакетов NuGet в Visual Studio
- В меню Visual Studio выберите «Проект» > «Управление пакетами NuGet»
- Нажмите кнопку Обзор или откройте вкладку Обновления.
- Чтобы установить или обновить поставщик SQL Server, выберите пакет Microsoft.EntityFrameworkCore.SqlServer и подтвердите свой выбор.
Консоль диспетчера пакетов NuGet в Visual Studio
- В меню Visual Studio выберите «Сервис» > «Диспетчер пакетов NuGet» > «Консоль диспетчера пакетов»
- Чтобы установить поставщик SQL Server, в консоли диспетчера пакетов выполните следующую команду:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Получение инструментов Entity Framework Core
Вы можете установить инструменты для выполнения задач, связанных с EF Core, в своем проекте, таких как создание и применение миграций базы данных, а также создание модели EF Core на основе существующей базы данных.
Доступно два набора инструментов:
- Инструменты интерфейса командной строки (CLI) .NET Core можно использовать в Windows, Linux и macOS. Эти команды начинаются с dotnet ef .
- Инструменты консоли диспетчера пакетов работают в Visual Studio в Windows. Эти команды начинаются с глагола, например Add-Migration , Update-Database .
Получение инструментов CLI для .NET Core
Для инструментов CLI .NET Core требуется пакет SDK для .NET Core, указанный ранее в разделе Необходимые компоненты.
-
Средство dotnet ef должно быть установлено в качестве глобального или локального средства. Большинство разработчиков предпочитают устанавливать средство dotnet ef в качестве глобального средства, используя следующую команду:
dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore.Design
Всегда используйте версии пакетов инструментов, которые соответствуют основному номеру версии для пакетов среды выполнения.
Получение инструментов консоли диспетчера пакетов
Чтобы получить инструменты консоли диспетчера пакетов для EF Core, установите пакет Microsoft.EntityFrameworkCore.Tools . Например, в Visual Studio:
Install-Package Microsoft.EntityFrameworkCore.Tools
Обновление до последней версии EF Core
- Каждый раз, когда мы выпускаем новую версию EF Core, мы также выпускаем новую версию поставщиков, которые являются частью проекта EF Core, например Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Sqlite, Microsoft.EntityFrameworkCore.Cosmos и Microsoft.EntityFrameworkCore.InMemory. Кроме того, можно просто обновить поставщик до новой версии, чтобы получить все улучшения.
- Если требуется обновить приложение, использующее сторонний поставщик базы данных, всегда ищите обновление поставщика, совместимое с нужной вам версией EF Core. Например, поставщики баз данных для версии 1.0 несовместимы с версией 2.0 среды выполнения EF Core и т. д.
- Сторонние поставщики EF Core обычно не выпускают исправления вместе со средой выполнения EF Core. Чтобы обновить приложение, которое использует стороннего поставщика до версии исправления EF Core, может потребоваться добавить прямую ссылку на отдельные компоненты среды выполнения EF Core, в частности Microsoft.EntityFrameworkCore и Microsoft.EntityFrameworkCore.Relational.
Как установить entity framework в visual studio 2019
Данное руководство устарело. Актуальное руководство: Руководство по Entity Framework Core 7
Последнее обновление: 14.11.2020
Платформу Entity Framework Core можно применять в различных технологиях стека .NET. В данном случае мы будем рассматривать базовые моменты платформы на примере консольных приложений, как наиболее простых и не содержащих никакого лишнего кода. Но в последствии также затронем применение EF Core и в других технологиях на конкретных примерах.
Итак, создадим первое приложение с использованием Entity Framework Core. Для этого создадим в Visual Studio 2019 новый проект по типу Console App (.NET Core) , который назовем HelloApp:

Итак, Visual Studio создает проект с базовой примитивной структурой, где можно выделить собственно файл логики приложения — файл Program.cs . И чтобы начать работать с EntityFramework Core, нам необходимо вначале добавить в проект пакет EntityFramework Core. Для этого перейдем в проекте к пакетному менеджеру NuGet.
Однако здесь мы ищем не общий пакет для Entity Framework Core, а пакет для конкретной СУБД. Так, в данном случае мы будем использовать MS SQL Server в качестве СУБД, поэтому нам надо искать пакет Microsoft.EntityFrameworkCore.SqlServer :

В качестве альтернативы для добавления пакетов можно использовать Package Manager Console . Для этого в меню Visual Studio перейдем к пункту Tools -> NuGet Package Manager -> Package Manager Console
В открывшемся внизу в Visual Studio окне Package Manager Console введем команду:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
После выполнения этой команды выполним вторую команду:
Install-Package Microsoft.EntityFrameworkCore.Tools
Итак, необходимые пакеты добавлены. Теперь мы можем их использовать.
Далее нам надо определить модель, которая будет описывать данные. Пусть наше приложение будет посвящено работе с пользователями. Поэтому добавим в проект новый класс User:
public class User < public int Id < get; set; >public string Name < get; set; >public int Age < get; set; >>
Это обычный класс, который содержит несколько свойств. Каждое свойство будет сопоставляться с отдельным столбцом в таблице из бд.
Надо отметить, что Entity Framework требует определения ключа элемента для создания первичного ключа в таблице в бд. По умолчанию при генерации бд EF в качестве первичных ключей будет рассматривать свойства с именами Id или [Имя_класса]Id (то есть UserId).
Взаимодействие с базой данных в Entity Framework Core происходит посредством специального класса — контекста данных. Поэтому добавим в наш проект новый класс, который назовем ApplicationContext и который будет иметь следующий код:
using Microsoft.EntityFrameworkCore; namespace HelloApp < public class ApplicationContext : DbContext < public DbSetUsers < get; set; >public ApplicationContext() < Database.EnsureCreated(); >protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) < optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=helloappdb;Trusted_Connection=True;"); >> >
Основу функциональности Entity Framework Core для работы с MS SQL Server составляют классы, которые располагаются в пространстве имен Microsoft.EntityFrameworkCore . Среди всего набора классов этого пространства имен следует выделить следующие:
- DbContext : определяет контекст данных, используемый для взаимодействия с базой данных
- DbSet/DbSet : представляет набор объектов, которые хранятся в базе данных
- DbContextOptionsBuilder : устанавливает параметры подключения
В любом приложении, работающим с БД через Entity Framework, нам нужен будет контекст (класс производный от DbContext). В данном случае таким контекстом является класс ApplicationContext.
И также в классе определено одно свойство Users, которое будет хранить набор объектов User. В классе контекста данных набор объектов представляет класс DbSet . Через это свойство будет осуществляться связь с таблицей объектов User в бд.
Кроме того, для настройки подключения нам надо переопределить метод OnConfiguring . Передаваемый в него параметр класса DbContextOptionsBuilder с помощью метода UseSqlServer позволяет настроить строку подключения для соединения с MS SQL Server. В данном случае мы определяем, что в качестве сервера будет использоваться движок localdb, который предназначен специально для разработки, ( «Server=(localdb)\\mssqllocaldb» ), а файл базы данных будет называться helloappdb ( «Database=helloappdb» ).
И также стоит отметить, что по умолчанию у нас нет базы данных. Поэтому в конструкторе класса контекста определен вызов метода Database.EnsureCreated() , который при создании контекста автоматически проверит наличие базы данных и, если она отсуствует, создаст ее.
Теперь определим сам код программы, который будет взаимодействовать с созданной БД. Для этого изменим класс Program следующим образом:
using System; using System.Linq; namespace HelloApp < public class Program < public static void Main(string[] args) < using (ApplicationContext db = new ApplicationContext()) < // создаем два объекта User User user1 = new User < Name = "Tom", Age = 33 >; User user2 = new User < Name = "Alice", Age = 26 >; // добавляем их в бд db.Users.Add(user1); db.Users.Add(user2); db.SaveChanges(); Console.WriteLine("Объекты успешно сохранены"); // получаем объекты из бд и выводим на консоль var users = db.Users.ToList(); Console.WriteLine("Список объектов:"); foreach (User u in users) < Console.WriteLine($". - "); > > Console.Read(); > > >
Так как класс ApplicationContext через базовый класс DbContext реализует интерфейс IDisposable , то для работы с ApplicationContext с автоматическим закрытием данного объекта мы можем использовать конструкцию using .
В конструкции using создаются два объекта User и добавляются в базу данных. Для их сохранения нам достаточно использовать метод Add : db.Users.Add(user1)
Чтобы получить список данных из бд, достаточно воспользоваться свойством Users контекста данных: db.Users
В результате после запуска программа выведет на консоль:
Объекты успешно сохранены Список объектов: 1.Tom - 33 2.Alice - 26
И после добавления мы можем найти базу данных в окне SQL Server Object Explorer (открыть данное окно можно через меню View->SQL Server Object Explorer ). Там мы можем раскрыть и посмотреть содержимое ее таблиц:

Таким образом, Entity Framework Core обеспечивает простое и удобное управление объектами из базы данных. При том в данном случае нам не надо даже создавать базу данных и определять в ней таблицы. Entity Framework все сделает за нас на основе определения класса контекста данных и классов моделей. И если база данных уже имеется, то EF не будет повторно создавать ее.
Установка Entity Framework
Entity Framework состоит из средств EF для Visual Studio и среды выполнения EF.
Средства EF для Visual Studio
Средства Entity Framework для Visual Studio включают конструктор EF и мастер моделей EF и требуются для первой базы данных и для первых рабочих процессов модели. Средства EF включены во все последние версии Visual Studio. Если вы выполняете пользовательскую установку Visual Studio, необходимо убедиться, что элемент Entity Framework 6 Tools выбран, выбрав рабочую нагрузку, включающую ее или выбрав ее в качестве отдельного компонента.
Для некоторых последних версий Visual Studio обновленные средства EF доступны в виде скачивания. Сведения о том, как получить последнюю версию EF Tools, доступные для вашей версии Visual Studio, см . в разделе «Версии Visual Studio».
Среда выполнения EF
Последняя версия Entity Framework доступна в виде пакета NuGet EntityFramework. Если вы не знакомы с диспетчер пакетов NuGet, рекомендуем ознакомиться с обзором NuGet.
Установка пакета NuGet EF
Пакет EntityFramework можно установить, щелкнув правой кнопкой мыши папку «Ссылки » проекта и выбрав пункт «Управление пакетами NuGet.

Установка из консоли диспетчер пакетов
Кроме того, можно установить EntityFramework, выполнив следующую команду в консоли диспетчер пакетов.
Install-Package EntityFramework
Установка определенной версии EF
Начиная с EF 4.1, новые версии среды выполнения EF были выпущены в виде пакета NuGet EntityFramework. Любую из этих версий можно добавить в проект на основе платформа .NET Framework, выполнив следующую команду в консоли диспетчер пакетов Visual Studio:
Install-Package EntityFramework -Version
Обратите внимание, что представляет определенную версию EF для установки. Например, 6.2.0 — это версия номера для EF 6.2.
Среды выполнения EF до 4.1 были частью платформа .NET Framework и не могут быть установлены отдельно.
Установка последней предварительной версии
Приведенные выше методы предоставляют последний полностью поддерживаемый выпуск Entity Framework. Часто существуют предварительные версии Entity Framework, которые мы хотели бы попробовать и дать нам отзыв.
Чтобы установить последнюю предварительную версию EntityFramework, можно выбрать параметр «Включить предварительную версию » в окне «Управление пакетами NuGet». Если предварительные версии недоступны, вы автоматически получите последнюю полностью поддерживаемую версию Entity Framework.

Кроме того, можно выполнить следующую команду в консоли диспетчер пакетов.
Install-Package EntityFramework -Pre