Целью предоставления. NET Стандартной версии 2.1 EF6 является помощь в поэтапном обновлении существующих проектов.
Итак, у нас есть существующее решение, состоящее из веб-сайтов, windows сервисные и консольные приложения. Мы находимся в процессе обновления с. NET Framework до. NET Core.
Было бы предпочтительнее, чтобы все это снова заработало в. NET Core, но все еще используя. NET Стандартная версия 2.1 EF6 на данный момент.
Модель EF6 основана на IdentityDbContext
и содержит хранилище идентификаторов пользователей, роли и т. Д. c.
public class DbContextTasking : IdentityDbContext<AspNetUser, AspNetRole, string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>
Все код теперь находится в. NET Core или. NET Стандартных сборках.
Обновленные сервисные и консольные приложения windows по существу работают, однако мы боремся с веб-сайтами.
Хотя беспокойство вызывает то, что для сборки сборщика данных необходим ряд packageReferences, которые показывают предупреждения желтого треугольника в обозревателе решений:
<PackageReference Include="Microsoft.AspNet.Identity.EntityFramework" Version="2.2.3" />
"Пакет x был восстановлен с использованием. NET Framework 4.6.1 .... Этот пакет может быть не полностью совместим ... "
Пока игнорируя эти предупреждения, ограничитель шоу понимает, как получить ASP. NET Основной сайт с идентификация, аутентификация и авторизация, подключенные для использования EF6.
Например, примеры, показывающие использование EF Core, имеют в своей функции ConfigureServices
:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
Однако '.UseSqlServer' происходит из сборки Microsoft.EntityFrameworkCore.SqlServer
И также с:
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<DbContextTasking>()
.AddDefaultTokenProviders();
AddEntityFrameworkStores
снова относится к хранилищу EF Core.
Например, 2
Этот пакет образует мост между ASP. NET Ядро и инфраструктура удостоверений:
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Таким образом, можно подумать, что для работы EF6 с ASP. NET Ядром должен быть пакет, схожий по природе (составное имя) с Microsoft.AspNetCore.Identity.EntityFramework6
Если возможно использовать EF6.4 (в c. Таблицах, связанных с идентификацией) в сочетании с ASP. NET Core, пожалуйста, не могли бы вы привести пример, который этого достиг?
Или, если вы точно знаете, что эта комбинация определенно невозможна, пожалуйста, дайте мне знать.