npgsql 相关问题

Npgsql是PostgreSQL的.NET数据提供程序。它允许为.NET框架开发的任何程序访问PostgreSQL数据库服务器。它以100%C#代码实现。

EF Core NodaTime 字段 - 无法映射

我正在使用 EF Core 和 我刚刚向我的实体添加了一个 NodaTime.LocalDate 字段,您...

回答 2 投票 0

来自 Npgsql 二进制副本的外部“数字”值错误中的无效符号

我在使用 Npgsql 二进制副本时遇到此错误(请参阅底部的我的实现): 外部“数字”值中的符号无效 失败的 RetailCost 列具有以下 PostgreSQL

回答 3 投票 0

有没有办法使用 EF Core (Npgsql) 将 IP 地址设置为主键

实体: 公共类IP地址信息 { 公共IP地址地址{获取;放; } // ... } 配置: 公共无效配置(EntityTypeBuilder构建器) {

回答 1 投票 0

为什么 .NET 在错误的 nuget 版本上崩溃

我的设置如下 项目数据库 我的设置如下 项目数据库 <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.5" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.5"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" /> <PackageReference Include="Npgsql" Version="8.0.3" /> <PackageReference Include="EFCore.NamingConventions" Version="8.0.3" /> 主项目引用数据库项目 构建时,我最终得到 Microsoft.EntityFrameworkCore.Relational 8.0。4 问题是应用程序在 Visual 中崩溃并出现错误 Could not load file or assembly 'Microsoft.EntityFrameworkCore.Relational, Version=8.0.5 我了解 nuget 决议 Npgsql.EntityFrameworkCore.PostgreSQL 需要 EF Core & Relational >= 8.0.4 然后我将 Core 强制为 8.0.5,以便它保持 Relational 为 8.0.4 我也明白仅强制其中一个依赖项是错误的,我应该将两者都指定为 8.0.5(我之后这样做了) 我不明白的是为什么运行时崩溃并出现错误,提示它需要关系 8.0.5 ?为什么不尝试使用 8.0.4 ? 问题 您指定了 Microsoft.EntityFrameworkCore 版本 8.0.5,但 PostgreSQL 包尝试引入 Microsoft.EntityFrameworkCore.Relational 版本 8.0.4 作为其依赖项。 解决方案 修改您的项目文件以确保版本正确: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.5" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.5"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.5" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" /> <PackageReference Include="Npgsql" Version="8.0.3" /> <PackageReference Include="EFCore.NamingConventions" Version="8.0.3" /> </ItemGroup> </Project> 之后清理并重建。 如果它仍然无法正常工作,我将验证 Nuget 缓存 (dotnet nuget locals all --clear)。

回答 1 投票 0

如何修改 EF Core 查询以包含数组转换

问题陈述: 我正在使用 Entity Framework (EF) Core 和 PostgreSQL。在我的目标表中,有一个可能包含版本号的 JSONB 列。我的目标是按此版本对查询进行排序

回答 2 投票 0

带参数的 C# Postgres 过程

如何从 C# 中调用带参数的 pg 过程? 这 100 个示例和其他相关帖子不起作用。 即(我如何从 C# 调用 PostgreSQL 13 存储过程?) 这是我的超级简单

回答 1 投票 0

使用 postgresql 查询数据时未使用 Entity Framework Core `HasConversion` 属性配置

我通过 Npgsql 将实体框架与 Postgre 一起使用,映射到 Cashouts 表的 Cashout 类型配置的一部分涉及: 公共无效配置(EntityTypeBuilder 我通过 Npgsql 将实体框架与 Postgre 结合使用,映射到 Cashout 表的 Cashouts 类型配置的一部分涉及: public void Configure(EntityTypeBuilder<Cashout> builder) { builder.ToTable("Cashouts"); builder.ConfigureGuidEntity(); builder.Property(c => c.RecipientAccountId).IsRequired(); builder.Property(c => c.State).IsRequired().HasConversion( v => v!.Name, v => Enumeration.FromDisplayName<CashoutState>(v)); builder.HasIndex(e => e.State); builder.HasIndex(e => e.RecipientAccountId); builder.UseXminAsConcurrencyToken(); } Cashout类型定义如下: public class Cashout : GuidEntity { public int RecipientAccountId { get; set; } public string? RecipientAccountName { get; set; } public decimal Amount { get; set; } public string? Comment { get; set; } public CashoutState? State { get; set; } = CashoutState.Pending; public string? Reason { get; set; } public Cashout() { } public Cashout(Guid id) : base(id) { } } 并继承自 GuidEntity 类型: public abstract class GuidEntity : Entity<Guid> { protected GuidEntity() { Id = Guid.Empty; } protected GuidEntity(Guid id) { Id = id; } public DateTimeOffset CreatedOn { get; private set; } = DateTimeOffset.UtcNow; public DateTimeOffset? UpdatedOn { get; private set; } } 本身继承自Entity: public abstract class Entity<TKey> : IEntity<TKey>, IEquatable<Entity<TKey>> where TKey: struct { private readonly Lazy<int> _requestedHashCode; private readonly Lazy<int> _requestedTransientHashCode; public virtual TKey Id { get; protected set; } protected Entity() { _requestedHashCode = new Lazy<int>(() => Id.GetHashCode() ^ 31); _requestedTransientHashCode = new Lazy<int>(() => Guid.NewGuid().GetHashCode()); } public bool IsTransient() => EqualityComparer<TKey>.Default.Equals(Id, default); public override bool Equals(object obj) => Equals((obj as Entity<TKey>)!); public bool Equals(Entity<TKey> other) { if (other == null) { return false; } if (ReferenceEquals(this, other)) { return true; } if (other.IsTransient() || this.IsTransient()) { return false; } return EqualityComparer<TKey>.Default.Equals(other.Id, Id); } public override int GetHashCode() => IsTransient() ? _requestedTransientHashCode.Value : _requestedHashCode.Value; } State属性的类型是CashoutState: public abstract class CashoutState : Enumeration { public static CashoutState Transferred = new TransferredCashoutState(); public static CashoutState TransferFailed = new TransferFailedCashoutState(); public static CashoutState Withdrawn = new WithdrawnCashoutState(); public static CashoutState WithdrawalFailed = new WithdrawalFailedCashoutState(); public static CashoutState Pending = new PendingCashoutState(); public static CashoutState Cancelled = new CancelledCashoutState(); protected CashoutState(int id, string name) : base(id, name) { } private class TransferredCashoutState : CashoutState { public TransferredCashoutState() : base(1, nameof(Transferred)) { } } private class WithdrawnCashoutState : CashoutState { public WithdrawnCashoutState() : base(2, nameof(Withdrawn)) { } } private class WithdrawalFailedCashoutState : CashoutState { public WithdrawalFailedCashoutState() : base(3, nameof(WithdrawalFailed)) { } } private class TransferFailedCashoutState : CashoutState { public TransferFailedCashoutState() : base(4, nameof(TransferFailed)) { } } private class PendingCashoutState : CashoutState { public PendingCashoutState() : base(5, nameof(Pending)) { } } private class CancelledCashoutState : CashoutState { public CancelledCashoutState() : base(6, nameof(Cancelled)) { } } } 然后还有 Enumeration 类型的另一位继承: public abstract class Enumeration : IComparable { public string Name { get; private set; } public int Id { get; private set; } protected Enumeration(int id, string name) { Id = id; Name = name; } public override string ToString() => Name; public static IEnumerable<T> GetAll<T>() where T : Enumeration => typeof(T) .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly) .Select(f => f.GetValue(null)).Cast<T>(); public override bool Equals(object obj) { if (!(obj is Enumeration otherValue)) return false; var typeMatches = GetType() == obj.GetType(); var valueMatches = Id.Equals(otherValue.Id); return typeMatches && valueMatches; } public override int GetHashCode() => Id.GetHashCode(); public static int AbsoluteDifference(Enumeration firstValue, Enumeration secondValue) => Math.Abs(firstValue.Id - secondValue.Id); public static T FromValue<T>(int value) where T : Enumeration => Parse<T, int>(value, "value", item => item.Id == value); public static T FromDisplayName<T>(string displayName) where T : Enumeration => Parse<T, string>(displayName, "display name", item => string.Equals(item.Name, displayName, StringComparison.InvariantCultureIgnoreCase)); private static T Parse<T, TValue>(TValue value, string description, Func<T, bool> predicate) where T : Enumeration => GetAll<T>().FirstOrDefault(predicate) ?? throw new InvalidOperationException($"'{value}' is not a valid {description} in {typeof(T)}"); public int CompareTo(object obj) => Id.CompareTo(((Enumeration)obj).Id); } 该配置适用于持久数据: var cashout = new Cashout { Amount = command.Amount, RecipientAccountId = command.RecipientAccountId, Comment = command.Comment, State = CashoutState.Pending }; dbContext.Cashouts.Add(cashout); dbContext.SaveChanges(); 但是当涉及到基于该状态查询数据时,它惨败,我分别尝试了: 查询给定的特定状态 var cancelledByState = await _dbContext.Cashouts.Where(x => x.State == CashoutState.Cancelled).FirstAsync(); 抛出: System.InvalidOperationException: The LINQ expression 'DbSet<Cashout> .Where(c => c.State.Name == __Cancelled_Name_0)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information. at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.<VisitMethodCall>g__CheckTranslated|8_0(ShapedQueryExpression translated, <>c__DisplayClass8_0& ) at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at Microsoft.EntityFrameworkCore.Query.QueryCompilationContext.CreateQueryExecutor[TResult](Expression query) at Microsoft.EntityFrameworkCore.Storage.Database.CompileQuery[TResult](Expression query, Boolean async) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.CompileQueryCore[TResult](IDatabase database, Expression query, IModel model, Boolean async) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass12_0`1.<ExecuteAsync>b__0() at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQueryCore[TFunc](Object cacheKey, Func`1 compiler) at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func`1 compiler) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](Expression query, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.ExecuteAsync[TResult](Expression expression, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync[TSource,TResult](MethodInfo operatorMethodInfo, IQueryable`1 source, Expression expression, CancellationToken cancella tionToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync[TSource,TResult](MethodInfo operatorMethodInfo, IQueryable`1 source, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.FirstAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken) 查询给定的特定状态名称 var cancelledByStateName = await _dbContext.Cashouts.Where(x => x.State.Name == CashoutState.Cancelled.Name).FirstAsync(); 抛出: System.InvalidOperationException: The LINQ expression 'DbSet<Cashout> .Where(c => c.State.Name == __Cancelled_Name_0)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information. at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.<VisitMethodCall>g__CheckTranslated|8_0(ShapedQueryExpression translated, <>c__DisplayClass8_0& ) at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at Microsoft.EntityFrameworkCore.Query.QueryCompilationContext.CreateQueryExecutor[TResult](Expression query) at Microsoft.EntityFrameworkCore.Storage.Database.CompileQuery[TResult](Expression query, Boolean async) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.CompileQueryCore[TResult](IDatabase database, Expression query, IModel model, Boolean async) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass12_0`1.<ExecuteAsync>b__0() at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQueryCore[TFunc](Object cacheKey, Func`1 compiler) at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func`1 compiler) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](Expression query, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.ExecuteAsync[TResult](Expression expression, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync[TSource,TResult](MethodInfo operatorMethodInfo, IQueryable`1 source, Expression expression, CancellationToken cancella tionToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync[TSource,TResult](MethodInfo operatorMethodInfo, IQueryable`1 source, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.FirstAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken) 查询给定的特定状态id var cancelledByStateId = await _dbContext.Cashouts.Where(x => x.State.Id == CashoutState.Cancelled.Id).FirstAsync(); 抛出: System.InvalidOperationException: The LINQ expression 'DbSet<Cashout> .Where(c => c.State.Id == __Cancelled_Id_0)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to eith er AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information. at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.<VisitMethodCall>g__CheckTranslated|8_0(ShapedQueryExpression translated, <>c__DisplayClass8_0& ) at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at Microsoft.EntityFrameworkCore.Query.QueryCompilationContext.CreateQueryExecutor[TResult](Expression query) at Microsoft.EntityFrameworkCore.Storage.Database.CompileQuery[TResult](Expression query, Boolean async) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.CompileQueryCore[TResult](IDatabase database, Expression query, IModel model, Boolean async) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass12_0`1.<ExecuteAsync>b__0() at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQueryCore[TFunc](Object cacheKey, Func`1 compiler) at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func`1 compiler) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](Expression query, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.ExecuteAsync[TResult](Expression expression, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync[TSource,TResult](MethodInfo operatorMethodInfo, IQueryable`1 source, Expression expression, CancellationToken cancella tionToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync[TSource,TResult](MethodInfo operatorMethodInfo, IQueryable`1 source, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.FirstAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken) 我想找到一种使用状态属性来查询 DbSet<Cashout> 的方法。 注 1:在使用内存模式时,它看起来就像一个魅力,但只要上下文绑定到实际的 postgresql 数据库服务器,就会像上面那样失败。 注 2:我还在 GitHub 上创建了 2 个问题: https://github.com/dotnet/efcore/issues/19589 https://github.com/npgsql/efcore.pg/issues/1199 我希望您已经解决了您的问题,但经过几个小时的研究,我发现如何在使用 HasConversion 时修复 LINQ 查询。基本上,您需要使用要转换的对象中带有隐式运算符的原始类型进行强制转换,请参阅这篇文章了解更多详细信息。 现在,如果您需要更复杂的类型,EF Core 8 中具有复杂类型。

回答 1 投票 0

执行 SSL 握手时出现 NPGSQL 异常

我正在使用测试自签名服务器证书。没有客户端证书。 我找不到错误原因: net6.0-android;net6.0-ios;net6.0-maccatalyst net6.0-windows10.0.19041.0 PostgreSQL...

回答 1 投票 0

如何使用 Docker Compose 将 ASP.NET Core Web API 连接到 PostgreSQL 数据库?

我正在尝试让我的应用程序与 Docker Compose 配合使用,但每次运行 docker-compose up -d 时,我的 API 都会在启动时崩溃(我正在尝试使用 EF Core 迁移我的数据库,以防我不在

回答 1 投票 0

Npgsql 循环期间负载均衡不均匀

我在使用 Npgsql 时看到奇怪的负载平衡行为。我有一台主服务器和三台备用服务器。由于主数据库可能会发生变化(如果它出现故障并且备用数据库会升级),因此我已经包含了所有...

回答 1 投票 0

使用 Npgsql 7 执行函数

我正在运行 PostgreSQL 15 并将 Dapper 和 Npgsql 7.0 添加到我的项目中。我需要运行以下函数: 创建或替换函数 get_all_posts( start_date日期默认为null,

回答 2 投票 0

Npgsql.PostgresException(0x80004005):23505:重复的键值违反了唯一约束“PK_DeliveryMethods” - .NET CORE - EF CORE

我在保存订单时遇到问题,在负责此任务的服务中,它调用了await _unitOfWork.Repository().AddAsync(order)方法。 然后在数据库中开始保存过程,但是...

回答 1 投票 0

运行时动态指定查询哪个表

我有很多表可以取。现在,对于每个表,我都有一个控制器类来获取请求,应用查询参数和分页,最后返回结果。他们都是

回答 2 投票 0

npgsql 从 appsettings.json 配置 __EFMigrationHistoryTable

我目前正在将 .net 应用程序迁移到 PostgreSQL 15。因此,我需要将所有表从公共模式移至自定义模式。 我的 __EFMigrationHistory 表也需要移动到...

回答 1 投票 0

保存 C# 日期时间时感到困惑?到 PostgreSQL 日期列(通过 dapper 和 npgsql)

有人可以解释一下为什么在通过 dapper 和 npgsql 将 C# 日期时间转换为字符串之前将其传递到 PostgreSQL 会导致正确保存日期吗?而传递 C# 日期时间对象

回答 1 投票 0

如何抑制有关常量主键的警告? Microsoft.EntityFrameworkCore.Model.Validation[20600]

我通过使用布尔主键和唯一约束定义了一个只有一行的表。这背后的想法基于十年前的这篇文章:Brandstetter 的 One-Row。这...

回答 1 投票 0

如何将 PostgreSQL 添加到现有 Entity Framework 6 项目,同时保持现有 SQL Server 提供程序不变?

免责声明:我是一名初级开发人员,仍在尝试了解 EF6。 我们的团队有一个 .NET Framework 4.7 / Entity Framework 6 项目,其数据依赖于 MS SQL Server。我们刚刚升级...

回答 1 投票 0

如何从postgresql数据库生成edmx

我在postgresql中有一个数据库,我想在我的项目中使用vs 2010(v4.0)中的向导生成edmx(实体框架)。 我遵循了此博客中给出的所有步骤 http://fxjr.blogspot.in/201...

回答 3 投票 0

需要深入了解NpgSQL DateTimeOffset处理

自版本 6.0 起,如果尝试保存具有非零偏移量的 DateTimeOffset 字段,NpgSQL 会引发异常。 例如: 公开课用户 { 公共 Guid Id { 获取;私人套装; } 公开

回答 1 投票 0

Visual studio 使用实体框架和 npgsql 连接到 postgres 数据库

我正在尝试使用 Visual Studio 2019 中的实体框架 6 将我的 .NET 项目连接到 postgres 数据库。我收到错误: 无法找到请求的.net框架数据提供程序。 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.