Как установить Entity Framework стандартной библиотеки - PullRequest
0 голосов
/ 26 сентября 2018

Я установил EF с NuGet, и папка зависимостей проекта показывает предупреждение о том, что EF может быть несовместимым.Какой пакет я должен установить для использования EF из стандартной библиотеки?

Я установил этот EF:

enter image description here

Вот используемая сборкав другом проекте решения:

enter image description here

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Это потому, что вы добавили пакет для EF 6.2, который предназначен только для полной платформы.Это не будет работать в .NET Core Runtime.

Вам необходимо использовать Entity Framework Core .Это было полностью переписано с целью нацеливания на .NET Standard и исправило многие проблемы, которые были у людей с более старой Entity Framework.

Так как он нацелен на .NET Standard, он может использоваться во всех средах выполнения - .NET Core, Full framework и UWP.Его новые функции делают его отличным выбором и для полной платформы.Например, в EF Core 2.2 добавлена ​​поддержка пространственных типов с использованием пакета NetTopologySuite с открытым исходным кодом.Даже в EF 6.2 никогда не было поддержки пространственных типов.

Ядро Entity Framework Core разбито на различные пакеты, которые позволяют добавлять только те драйверы / функции, которые необходимы для вашего проекта.Даже поставщик SQL Server доступен в виде отдельного пакета.Список провайдеров доступен здесь

К счастью, каждый провайдер вводит все другие необходимые зависимости, поэтому все, что вам нужно сделать, - это включить провайдера, чтобы включить все другие необходимые пакеты в качестве транзитивных зависимостей.Это означает, что они не отображаются как зависимости в Visual Studio или файле csproj.Не более 50 ссылок на пакеты, о которых мы не знаем, что делать!

  • Для SQL Server вам необходимо включить Microsoft.EntityFrameworkCore.SqlServer , например, с

    dotnet добавить пакет Microsoft.EntityFrameworkCore.SqlServer

  • Вам необходимо добавить Microsoft.EntityFrameworkCore.Tools , если вы хотитеиспользовать команды миграции базы данных.Если нет, просто не добавляйте пакет.Вы всегда можете добавить его позже.

  • Добавьте Microsoft.EntityFrameworkCore.Analyzers .Это анализатор Roslyn, который проверяет распространенные ошибки EF Core, особенно при использовании метода RawSql .Это способ слишком легко понять это неправильно.
  • Рассмотрите возможность добавления Microsoft.EntityFrameworkCore.InMemory в свои тестовые проекты.Это простой поставщик в памяти, который можно использовать для проверки кода EF без подключения к базе данных , как показано здесь
0 голосов
/ 27 сентября 2018

Какой пакет я должен установить для использования EF из стандартной библиотеки?

Так же, как указал Panagiotis, вы должны использовать Microsoft.EntityFrameworkCore вместо EntityFramework.

Если вы загрузите эти два пакета с nuget.org, EntityFramework , Microsoft.EntityFrameworkCore , затем откройте его с помощью NuGet Package Explorer (вы можете получить его изМагазин Microsoft.):

enter image description here

enter image description here

Итак, если вы хотите использовать EF изв стандартной библиотеке вам следует установить пакет nuget Microsoft.EntityFrameworkCore.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...