简体   繁体   中英

ReverseEngineeringGenerator in Entity Framework Core 2.1

Based on this article by Mr Rowan Miller I want to use EF Core scaffolding system by code.

// Add base services for scaffolding
var serviceCollection = new ServiceCollection()
    .AddScaffolding()
    .AddLogging();

// Add database provider services
var provider = new SqlServerDesignTimeServices();
provider.ConfigureDesignTimeServices(serviceCollection);

var serviceProvider = serviceCollection.BuildServiceProvider();

var generator = serviceProvider.GetService<ReverseEngineeringGenerator>();
var options = new ReverseEngineeringConfiguration
{
    ConnectionString = @"Server=(localdb)\mssqllocaldb;Database=Northwind;Integrated Security=true",
    ProjectPath = @"C:\temp\",
    ProjectRootNamespace = "My.Namespace"
};

generator.GenerateAsync(options).Wait();

But it does not work with latest EF Core 2.1.

Can anyone help me to update the code? (an updated article)

Code for 2.1 is available here: https://github.com/ErikEJ/SqlCeToolbox/blob/master/src/GUI/ReverseEngineer20/EFCoreReverseEngineer.cs

var scaffolder = serviceProvider.GetService<IReverseEngineerScaffolder>();
var scaffoldedModel = scaffolder.ScaffoldModel(...
var filePaths = scaffolder.Save(scaffoldedModel,...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM