数据库优先但只是数据库的一个子集

Database First but only a subset of the database

我正在创建一个 asp.net6 网络应用程序,它将从现有数据库中提取交易数据。在数据库中,我们有很多我不需要的查找表。我可以使用 ef dbcontext scaffold 导入数据库,但我得到了数据库中的所有表。有没有办法挑选我想要的桌子?我可以删除所有查找表,但如果我必须更新其中任何一个并且我使用 ef dbcontext scaffold 它会再次提取所有表吗?

是的,你可以。过去找了很久解决问题的方法。 ef dbcontext scaffold 的选项记录的不够好。使用-t参数多次的解决方案:

dnx ef dbcontext scaffold ... -t dbo.Users -t dbo.UserPosts

我在. It includes the reference to the Design Meeting Note中更详细地描述了ef dbcontext scaffold的用法。

更新: 从 .NET Core RC2 开始,应该使用 dotnet ef dbcontext scaffold 而不是 dnx ef dbcontext scaffold

对于 EF Core 2.0,您应该这样做:

Scaffold-DbContext -Connection "Connection String" -Povider "Microsoft.EntityFrameworkCore.SqlServer" -OutputDir Models -Tables "Table1", "Table2", "Table3", "TableN"