为了账号安全,请及时绑定邮箱和手机立即绑定

在 Entity Framework Core 中使用 Npgsql.NodaTime

在 Entity Framework Core 中使用 Npgsql.NodaTime

C#
慕婉清6462132 2021-06-17 14:09:41
我正在使用 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 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

您需要将所有内容升级到 4.0.0-rc1 版本并安装Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime包。我已经在这里报告了这个问题


查看完整回答
反对 回复 2021-06-26
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

链接中的文档不正确(典型的预发布混乱)。它指出您需要Npgsql.NodaTime包,而实际上您需要Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime包:

<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime" Version="2.1.0-rc1" />



查看完整回答
反对 回复 2021-06-26
  • 2 回答
  • 0 关注
  • 263 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信