我正在使用 Entity Framework Core 通过 Npgsql 数据提供程序处理 PostgreSQL 数据库。根据日期/时间映射指南,建议使用 NodaTime 进行 PostgreSQL 日期/时间映射。在设置指南中,以下代码启用 NodaTime 类型映射:protected override void OnConfiguring(DbContextOptionsBuilder builder){ builder.UseNpgsql("Host=localhost;Database=test;Username=npgsql_tests;Password=npgsql_tests", o => o.UseNodaTime());}但是没有UseNodaTime()扩展方法NpgsqlDbContextOptionsBuilder。我搜索了npgsql源代码,但没有找到该扩展方法。我发现的唯一一个是public static INpgsqlTypeMapper UseNodatime(this INpgsqlTypeMapper mapper)在这个文件中。我的.csproj:<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.1.0-rc1-final" /> <PackageReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.2" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0-rc1-final" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0-rc1" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite" Version="2.1.0-rc1" /> <PackageReference Include="Npgsql.NodaTime" Version="1.0.0-rc1" /> </ItemGroup></Project>
2 回答
![?](http://img1.sycdn.imooc.com/5458463b0001358f02200220-100-100.jpg)
慕森王
TA贡献1777条经验 获得超3个赞
您需要将所有内容升级到 4.0.0-rc1 版本并安装Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime包。我已经在这里报告了这个问题
![?](http://img1.sycdn.imooc.com/545865890001495702200220-100-100.jpg)
慕桂英3389331
TA贡献2036条经验 获得超8个赞
链接中的文档不正确(典型的预发布混乱)。它指出您需要Npgsql.NodaTime
包,而实际上您需要Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime
包:
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime" Version="2.1.0-rc1" />
- 2 回答
- 0 关注
- 295 浏览
添加回答
举报
0/150
提交
取消