EFCore 脚手架

Posted

技术标签:

【中文标题】EFCore 脚手架【英文标题】:EFCore scaffold 【发布时间】:2018-11-22 00:01:48 【问题描述】:

我正在尝试使用脚手架创建模型:

dotnet ef dbcontext scaffold "DataSource=database.sqlite" Microsoft.EntityFrameworkCore.Sqlite -o Model

但是这个返回错误:

Could not scaffold the foreign key 'PoolsInDepartments(pools_id)'. A key for 'id' was not found in the principal entity type 'Pools'.
Could not scaffold the foreign key 'PoolsInDepartments(departaments_id)'. A key for 'id' was not found in the principal entity type 'Departments'.

我不明白 PoolInDepertaments 表中的错误在哪里。请检查我的数据库: https://pastebin.com/Mmi6fnrV

这个数据库的图表:

https://i.stack.imgur.com/TV7EB.png

【问题讨论】:

我正在上传sqlite3文件sendspace.com/file/hwixx7 【参考方案1】:

试试这个命令:

Scaffold-DbContext "Filename=mydatabase.sqlite3" Microsoft.EntityFrameworkCore.Sqlite -OutputDir 模型

我从 EF Core 的第一个版本到新的 2.1 都使用它,它对我有用。

【讨论】:

以上是关于EFCore 脚手架的主要内容,如果未能解决你的问题,请参考以下文章

EF Core - NodaTime 类型的脚手架?

将 EF Core 搭建到现有 DbContext 的脚手架

.net core中使用efcore

用EFCore从mssql数据库生成实体类

如何解决在 Linux(Ubuntu 18.04)中进行 EF Core 数据库脚手架的“无法使用 Kerberos 进行身份验证”问题?有啥解决办法吗?

如何在 EF Core 3.1 中使用脚手架流程更新我的实体 - 执行超时已过期