我输入到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个视图。
2条答案
按热度按时间quhf5bfb1#
我已经将您的代码修改为下面的代码,并且它正在工作。
Scaffold-DbContext-Provider Microsoft.EntityFrameworkCore.Sqlite“DataSource=C:\SQLite\数据库\Ticket0.db3”-OutputDir C:\WPFTutorials\TicketEF\TicketEF\DB-Context TicketContext-force
2uluyalo2#
发生的情况是,我错误地将数据库位置键入为“Ticket0”,这就是它在SQLiteStudio中的显示方式,而EF Core生成了一个空的Ticket0.db3,然后我误以为它是原始文件。
既然这是我自己的错误,我应该删除这个问题吗?