答案 0 :(得分:1)
那是因为您添加了仅针对完整框架的EF 6.2软件包。它不适用于.NET Core Runtime。
您需要使用Entity Framework Core。它已完全重写为目标.NET Standard,并解决了较旧的Entity Framework人们遇到的许多问题。
由于它面向.NET Standard,因此它是can be used in all runtimes-.NET Core,完整框架和 UWP项目。 它的新功能也使其成为Full框架的绝佳选择。例如,EF Core 2.2通过使用开源NetTopologySuite软件包添加了spatial types support。甚至EF 6.2也从未提供过空间类型支持。
Entity Framework Core分为各种软件包,使您可以仅将所需的驱动程序/功能添加到项目中。甚至SQL Server提供程序也可以作为单独的软件包使用。提供者列表可用here
幸运的是,每个提供程序都引入了所有其他必需的依赖项,因此您要做的就是包括一个提供程序,将所有其他必需的包作为传递性依赖项引入。这意味着它们不会在Visual Studio或csproj文件中显示为依赖项。不再有50个我们不知道该怎么做的软件包引用!
对于SQL Server,您需要包括Microsoft.EntityFrameworkCore.SqlServer,例如
dotnet添加软件包Microsoft.EntityFrameworkCore.SqlServer
如果要使用数据库迁移命令,则需要添加Microsoft.EntityFrameworkCore.Tools。如果没有,那就不要添加软件包。您以后可以随时添加它。
RawSql
method。 方法太容易出错了。答案 1 :(得分:0)
我应该安装哪个软件包以使用标准库中的EF?
正如Panagiotis所指出的那样,您应该使用Microsoft.EntityFrameworkCore而不是EntityFramework
。
如果您从nuget.org EntityFramework,Microsoft.EntityFrameworkCore下载了这两个软件包,然后使用NuGet软件包资源管理器将其打开(可以从Microsoft Store获取)。
因此,如果要使用标准库中的EF,则应安装nuget软件包Microsoft.EntityFrameworkCore
。
希望这会有所帮助。