如何将标准2.0实体框架库与NET 5项目一起使用



我有.net framework 4.8和一个net 5项目,我都想使用带有实体框架的netstandard 2.0库。

标准2.0参考,最新版本有效:

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.6">

NET 5参考:

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.7" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.7">
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.7" />

NET 5项目引用了netstandard 2.0库

然后我可以只使用基本的脚手架参数脚手架

脚手架DbContext"数据来源=SQLSERVER2019.xyz.local;数据库=FlexEF;Trusted_Connection=True";Microsoft.EntityFrameworkCore.SQL服务器

但我的上下文类充满了错误,比如:

错误CS1660无法将lambda表达式转换为类型"string",因为它不是委托类型

错误CS1061"EntityTypeBuilder"不包含"HasNoKey"的定义,并且找不到接受"EntityTypeBuilder"类型的第一个参数的可访问扩展方法"HasNoKey"(是否缺少using指令或程序集引用?(

错误CS1061'PropertyBuilder<短>'不包含"HasComment"的定义,并且没有接受"PropertyBuilder<短>'可以找到(您是否缺少使用指令或程序集引用?(

我误解了什么?

因此,在我的上下文中,我只需要使用

使用Microsoft.EntityFrameworkCore;

在NET5中,我只需要引用这3个包,在Standard2.0中,我需要添加更多的包,这些包显然属于同一个命名空间。

例如:

Microsoft.EntityFrameworkCore.抽象Microsoft.EntityFrameworkCore.Design

等等

叹气。。。

相关内容

最新更新