将Entity Framework 4.0迁移到核心

问题描述

我有一个使用Entity Framwork 4.0开发的旧项目,该项目使用了一些复杂的类型。由于需要将其迁移到.NET Core,因此我创建了一个新项目,安装了所有必需的库并使用了命令

PM> Scaffold-DbContext "Server=ServerInstance; Database=dbname; Trusted_Connection=True;" 
             Microsoft.EntityFrameworkCore.sqlServer -OutputDir Models
在现有数据库

以便创建新模型。问题在于它不会生成复杂的类型类。

我可以想象我可以用手工创建的复杂类型替换生成属性,使用[ComplexType]属性并使用OwnsOne命令设置属性,但是我在徘徊是否有一种自动生成选项。

有没有办法做到这一点?

解决方法

我创建了第二个局部类,以便向创建的局部类添加自定义内容。还添加了部分OnModelCreatingPartial方法,在其中定义了我的复杂类型。

以下是代码段:

val sfOptions