Entity Framework Core 2.1 中的 ReverseEngineeringGenerator
Posted
技术标签:
【中文标题】Entity Framework Core 2.1 中的 ReverseEngineeringGenerator【英文标题】:ReverseEngineeringGenerator in Entity Framework Core 2.1 【发布时间】:2018-09-29 11:37:35 【问题描述】:基于 Rowan Miller 先生的 this article,我想通过代码使用 EF Core 脚手架系统。
// 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();
但它不适用于最新的 EF Core 2.1。
谁能帮我更新代码? (更新的文章)
【问题讨论】:
【参考方案1】:2.1 的代码可在此处获得: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,...
【讨论】:
你能更新你的链接吗?因为你的链接坏了。你有ReverseEngineer
API 吗?以上是关于Entity Framework Core 2.1 中的 ReverseEngineeringGenerator的主要内容,如果未能解决你的问题,请参考以下文章
Entity Framework core 2.1 多对多选择查询
使用 Entity Framework Core (2.1) 调用标量函数的最佳实践
Entity Framework Core 2.1 无法更新具有关系的实体