.NET Core 2.0 база данных Первый подход Scaffold-DbContext Mysql DB
Я разрабатываю веб-API в .Net Core 2.0 с MySQL DB. Я пытаюсь построить MySQL DB. У меня есть follow эта ссылка (официальный сайт MySQL) но когда я командую пожарными лесами, я получаю ошибку, о которой я упоминал ниже, пожалуйста, дайте мне знать, если я делаю что-то неправильно. Команда для лесов (запуск в консоли диспетчера пакетов)
Scaffold-DbContext "server=localhost;port=3306;user=root;password=darshan7826;database=sakila" MySql.Data.EntityFrameworkCore -OutputDir sakila -f
ошибка при выполнении команды
System.NotImplementedException: The method or operation is not implemented.
at MySql.Data.EntityFrameworkCore.Scaffolding.Internal.MySQLDatabaseModelFactory.Create(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.Create(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ModelScaffolder.Generate(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas, String projectPath, String outputPath, String rootNamespace, String contextName, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable`1 schemas, IEnumerable`1 tables, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContextImpl(String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable`1 schemaFilters, IEnumerable`1 tableFilters, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
The method or operation is not implemented.
2 ответов
после копания я обнаружил, что .NET Core 2.0 Mysql Connector работает неправильно и после некоторого поиска и RnD я нашел Фонд Помело из переполнения стека я попробовал, и он работает.
взглянув на официальный исходный код для MySQL Connector для .Net, Вы можете видеть, что он еще не завершен из-за этого:
public DatabaseModel Create(string connectionString,
IEnumerable<string> tables, IEnumerable<string> schemas)
{
throw new NotImplementedException();
}
вы можете открыть отчет об ошибке на официальный багтрекер.
в качестве альтернативы, кажется, есть гораздо более новая бета-версия, которую вы могли бы посмотреть на попытку. https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/8.0.9-dmr