问题标签 [npoco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
153 浏览

npoco - 使用元组从 NPoco 返回具有 2 个值的单行返回错误

我使用 NPoco,我希望查询返回两个结果 - 不是具有两个属性的单个对象,而是某个表的两个总和。我希望将其作为元组检索,但 NPoco 失败了。

我试过这个:

但这给了我这个错误:

有没有一种方法可以检索多个值而无需为返回对象创建一个类?

0 投票
2 回答
227 浏览

c# - C#。NPOCO。错误:“'&' 附近的语法不正确。”尝试加入时

我有这个存储过程,由 NPOCO 在下一个 linq 查询之后创建:

执行此存储过程后,出现错误:

'&' 附近的语法不正确

0 投票
1 回答
265 浏览

c# - NPOCO。是否可以插入嵌套对象?

我有一个带有两个嵌套 Dto 的 Dto 类:

DB 中的表如下所示:

是否可以在创建 ProductComponentVariant 时同时设置 ProductId 和 ComponentVariantId。因为现在我有一个错误“无效的强制转换异常”ProductDto 来自数据源的类型的给定值无法转换为指定目标列的int类型

0 投票
1 回答
392 浏览

c# - NPoco - 包含 IncludeMany 和其他包含 (ASP NET MVC)

嗨,我需要获取与 3 个表相关的记录:

路线 -> 一对一 -> StartCity & EndCity

路线 -> 一对多 -> StopoverCity -> 一对一 -> 城市

** 对不起,我的英语不好

0 投票
1 回答
795 浏览

c# - 尝试使用 NPoco 在数据库中插入值时出错

我正在使用Umbraco 文档中的这个示例,当我尝试将值保存到数据库表时,我收到此错误:无法将值 NULL 插入列“Id”,表“petapoco.dbo.BlogComments”;列不允许空值。插入失败。该语句已终止。

此外,在创建表并在数据库中检查它之后,我可以看到没有为 id 字段设置主键和自动增量选项。

这就是我插入值的方式:

0 投票
1 回答
84 浏览

c# - NPoco 中是否有任何内置函数可用于在没有查询连接的情况下应用连接

我想在内置的 NPoco 函数中使用连接而不是任何查询连接支持,例如:

请任何人提供一些想法,如何使用 C# 在 NPoco 中使用 Joins。

0 投票
0 回答
226 浏览

.net-core - NPoco 耗尽 .NET Core 3.1 上的连接池

当我调用我的存储库 10000 次时,它要么需要几分钟(对于一个非常简单的键控查询,在数据库本身上不需要几分钟),要么会因为连接池耗尽消息而迅速死亡。我知道我在处理对象、创建对象、DI 容器寿命等的某些组合上做错了。我究竟做错了什么?我尝试了 .Singleton / .Scoped 的一些排列,数据库的 ThreadLocal 缓存等。

代码在 Windows 10 上执行,框架是 .NET Standard 2.1(在 .NET Core 3.1 上运行),与 SQL Server 2016 通信。

我的注册政策(Lamar):

我的基础存储库:

使用此模式的示例存储库:

它实际上是如何被调用的:

0 投票
1 回答
58 浏览

c# - 分页接收记录的SQL查询

我想编写一个查询,从另一个表中接收有关客户及其订单的信息并以这种方式显示它们:

我想按客户分页。例如 - 如果我定义每页的项目 = 10,我想显示 10 位客户,无论他们有多少订单。

我准备了这个查询,但我认为它不能正常工作,我不知道如何解决这个..

0 投票
1 回答
55 浏览

oracle - ORA-00936: 缺少表达式 | ASP .NET CORE 3.1 MVC | 文件作为 | NPoco

我的函数抛出异常“ ORA-00936:缺少表达式”时遇到问题,但查询可在 Oracle SQL Developer 上运行...

有谁知道这可能来自哪里?

0 投票
1 回答
50 浏览

c# - 在没有内存泄漏的情况下在 NPOCO C# 模型中同时维护 FK 属性和连接对象?

假设我有以下类用于从数据库映射对象:

我使用以下流畅的映射:

这将造成巨大的内存泄漏,因为它不会将所有者 <-> thingies 识别为循环关系(具体来说,它会将OneToOne关系从 Thingie 映射到 User,然后找到与 Thingie 的Many关系,再次映射 Thingie,找到用户等等......)

我们确实需要在数据模型上同时拥有列OwnerId和属性。Owner使用过去的参考是OneToOne要走的路,但不幸的是,如果你想建立适当的关系,它会像上面所说的那样吃掉你所有的记忆。

提供一个参考框架,当我说“你所有的内存”时,我的意思是具有 17 个简单表的映射配置将导致 NPOCO 支持的服务吞下 1 到 3GB 的内存。

什么已经尝试过:

  • 通过手动保持计数或参考链,有条件地阻止它在地图中包含太多嵌套层。至少到目前为止失败了,因为似乎没有办法正确检查更大的上下文。
  • 使用.Result()and.Computed()来克服对 same-field-name 的限制(OwnerId如果您的Foreign引用被命名,则不能有字段OwnerId)。失败,因为名称保存在字典中,你无法绕过它。
  • 创建包含通用对象而不是实际数据对象的不同模型以停止连接传播。需要明确的是,class SuperUserMan: UserMan简单的 s 隐藏了令人讨厌的关系object。失败的原因尚不清楚,但很可能被 NPOCO 视为动态的。内存使用率更高。
  • 只是假装 FK 属性仍然存在 - 尝试在我们的代码中使用它们,或者更确切地说是 NPOCO 的 LINQ 表达式。失败,因为它们已添加到字典中但不能以任何方式使用。

任何建议都非常受欢迎。

使用 NPOCO 最新版本、SQL Server 2019、.NET Core 目前为 3.1.latest

这也已在 NPOCO GitHub 中作为问题打开 - 但是在这里我问是否有人有不涉及以任何方式接触 NPOCO 的解决方案。