Scaffold-DbContext Fails. System.TypeLoadException: не удалось загрузить тип «Microsoft.EntityFrameworkCore.Internal.ProductInfo» в. NET Core - PullRequest
0 голосов
/ 19 марта 2020

Я только что создал ASP. NET Core 3.1 API Web Application и хотел бы сгенерировать файлы 'DbContext' из моей базы данных Oracle. Я разочарован, обнаружив, что, похоже, нет встроенного визуального дизайнера, как в. NET Стандарт.

Что я пробовал:

  • Создано. NET Core 3.1 API Web Application.
  • Установлены следующие пакеты NuGet:
    • Microsoft .EntityFrameworkCore 3.1.2;
    • Microsoft.EntityFrameworkCore.Design 2.2.6;
    • Microsoft.EntityFrameworkCore.Relational 2.2.6;
    • Microsoft.EntityFrameworkCore.Relational.Design 1.1.6
    • Microsoft.EntityFrameworkCore.Tools 2.2.6;
    • Oracle .EntityFrameworkCore 2.19.6;
    • Oracle .ManagedDataAccess.Core 2.19.6;

Затем я попытался вызвать команду Scaffold-DbContext на консоли диспетчера пакетов:

Scaffold-DbContext "DATA SOURCE=(DESCRIPTION=(SOURCE_ROUTE=OFF)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myHostName)(PORT=myPortNumber)))(CONNECT_DATA=(SID=mySID)(SERVER=DEDICATED))); User ID=myID;Password=myPassword;" Oracle.ManagedDataAccess -OutputDir Models -Tables myTableName

С помощью этой команды я надеялся, что для моей таблицы будет создан класс контекста БД, однако вместо этого возвращается следующая ошибка:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.TypeLoadException: Could not load type 'Microsoft.EntityFrameworkCore.Internal.ProductInfo' from assembly 'Microsoft.EntityFrameworkCore, Version=3.1.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor..ctor(Object reportHandler, IDictionary args)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, Object[] args)
   at Microsoft.EntityFrameworkCore.Tools.ReflectionOperationExecutor..ctor(String assembly, String startupAssembly, String projectDir, String dataDirectory, String rootNamespace, String language)
   at Microsoft.EntityFrameworkCore.Tools.Commands.ProjectCommandBase.CreateExecutor()
   at Microsoft.EntityFrameworkCore.Tools.Commands.DbContextScaffoldCommand.Execute()
   at Microsoft.EntityFrameworkCore.Tools.Commands.CommandBase.<>c__DisplayClass0_0.<Configure>b__0()
   at Microsoft.DotNet.Cli.CommandLine.CommandLineApplication.Execute(String[] args)
   at Microsoft.EntityFrameworkCore.Tools.Program.Main(String[] args)
Exception has been thrown by the target of an invocation.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...