使用EF核心构建现有的SQLite数据库会产生一个通用的上下文,并且没有表的实体

zzwlnbp8  于 2022-11-14  发布在  SQLite
关注(0)|答案(2)|浏览(160)

我输入到PMC的命令是Scaffold-DbContext "DataSource=C:\SQLite\Databases\Ticket0.db3" Microsoft.EntityFrameworkCore.Sqlite -OutputDir C:\WPFTutorials\TicketEF\TicketEF\DB -context TicketContext -force我已经反复检查了数据源,但它只生成一个通用上下文,不生成表(我不能包括图像,因为我没有足够高的声誉)。
我也检查了堆栈溢出,但我能找到的最相关的帖子是这个SQLite scaffolding with Entity Framework Core,然而问题是相对路径,而我使用的是绝对路径。我尝试的另一个是Scaffold (reverse engineering) existing database return empty sets,并尝试注解掉<Nullable>enable</Nullable>,它解决了他们的问题,但也不起作用。
我有
Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.Design, Microsoft.EntityFrameworkCore.Sqlite and Microsoft.EntityFrameworkCore.Tools
已安装Nuget包。
如果重要的话,我尝试连接的数据库可以在SQLiteStudio中打开和更改,因此它应该工作得很好,它有5个表和2个视图。

quhf5bfb

quhf5bfb1#

我已经将您的代码修改为下面的代码,并且它正在工作。
Scaffold-DbContext-Provider Microsoft.EntityFrameworkCore.Sqlite“DataSource=C:\SQLite\数据库\Ticket0.db3”-OutputDir C:\WPFTutorials\TicketEF\TicketEF\DB-Context TicketContext-force

2uluyalo

2uluyalo2#

发生的情况是,我错误地将数据库位置键入为“Ticket0”,这就是它在SQLiteStudio中的显示方式,而EF Core生成了一个空的Ticket0.db3,然后我误以为它是原始文件。
既然这是我自己的错误,我应该删除这个问题吗?

相关问题