问题标签 [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.
mapping - 如何使用 NPoco 将非原始成员映射到字节/JSON?
假设我有一个对象:
我希望/需要将上述对象映射到一个名为Person
的列,该列具有一个名为HomeAddress
其内容为 JSON(或某些自定义二进制序列化)的列。
如何告诉 NPoco 数据库对象使用这种映射?
.net - 在 .NET 并行处理中优化 DB 插入
我必须使用 AWS SES 发送大量电子邮件(比如每个工作 10,000 封)。找到了一个关于如何并行执行的很棒的博客,现在有一个关于如何将发送事务数据写入数据库的问题。我正在使用 npoco ORM 和 InsertBulk,从我粗略的看,它打开一个连接并通过迭代每个 poco 来插入,然后关闭连接。缺少每次发送的打开、写入和关闭,这是一个进步。我的想法是将数据库操作保持在最低限度,但我应该每隔 50 左右的电子邮件发送一次写入数据库,以防服务器或作业中断,该作业稍后可以从中断的地方继续,而不会发送重复等.
所以我开始使用 ConcurrentBag、线程锁定、转换为列表、将该列表发送到 npoco 以插入等。经过非常有限的测试并且它有效。但我确信这不是正确的方法,而且我没有信心在这里适当地使用线程。在这种情况下有什么建议?将concurrentbag传递给npoco进行插入,其他一些插入方法会更好还是可行?
oracle - NPOCO PL/SQL 处理参数
我在 Oracle 中有存储过程
如何处理参数?
c# - Need to call InsertBulk(IEnumerable pocos) but T only known at runtime
NPoco (a .NET micro ORM, derived from PetaPoco) has a method for bulk-inserting records into a database, given a list of a generic type. The method signature is:
Internally it takes the name of the type T and uses it to determine the DB table to insert into (similarly the type's property names are mapped to the column names). Therefore it is critically important that a variable of the correct type is passed to the method.
My challenge is this:
- I am given a list of objects to insert into the DB, as
List<IDataItem>
where IDataItem is an interface that all insertable objects' classes must implement - The list may contain objects of any type that implements IDataItem, and there may be a mixture of types in the list
- To underline the problem - I do not know at compile time the actual concrete type that I have to pass to InsertBulk
I have tried the following approach, but the result of Convert.ChangeType is Object, so I am passing a list of Objects to InsertBulk, which is invalid.
Is there any way I can accomplish this?
c# - 如何更新 NPoco 中的嵌套对象
我找不到在多对一情况下更新嵌套对象的示例。映射在 Fetch 上的工作方式非常清楚;而且我不是在说更新嵌套对象的集合,只是一个。所以给出下面的例子:
在数据库中,Student 表带有 CurrentSchool 列,该列是 School 表中记录的 ID。
我没有更新 School 对象本身,而是将学生映射到另一个对象。这在查询上很好,但是如果我更改 Student 上的 CurrentSchool 对象并使用 db.Update(studentObject) 保存,则外键不会更新。
c# - 使用 NPoco 3 的嵌套对象映射
我正在尝试运行嵌套映射,但嵌套对象为空。这意味着在我的情况下result[0].Location
是空的。我将 NPoco 3.3.0-beta3 与 Postgres 一起使用。
这里的代码片段:
种族实体:
位置实体
比赛表
位置表
npoco - NPoco 一对多和多对多
我很难将一对多和多对多的 SQL 关系映射到我的 pocos 中的列表。我已经尝试了所有方式的 Fetch 和 Query 以及属性,但我没有正确映射 pocos。这是类和 SQL 的简化版本:
波科斯:
SQL查询:
所以,Product->ProductVariant 是一对多的,ProductVariant 表携带 ProductId;Product->Category 是多对多的,带有一个带有 ProductId 和 CategoryId 的外部参照表 [ProductCategory]。我得到的最接近的是 ProductVariant 列表,其中填充了正确数量的对象,但这些值是从 Product 数据映射的。
我与 PetaPoco 合作了很长时间,现在正尝试“升级”到 NPoco V3。如果使用 PetaPoco,我会使用 Relators 进行映射;使用 NPoco,在线示例对我不起作用。
asp.net-core - NPoco 在 .net Core 中的使用
我最近开始深入研究新的 .net 核心以及 asp.net 核心 mvc。我遇到了几个问题,但我能够自己回答其中的大部分问题。真正难倒我的是 NPoco 的使用。
你应该如何创建数据库实例?
文档内容如下:
这对于 DNXCORE50 是不正确的,因为此构造函数已被排除在 DNCORE50 之外
我也尝试过这个:
运行此代码时,我得到一个“NullReferenceException”
有谁知道如何让 NPoco 正常工作?
.net - NPOCO 中的 Postgresql 查询
我对 NPOCO + PostgreSQL 空间很陌生,因为我决定暂时远离 SQL Server。
我的问题是通常在 NPOCO 中写这样的查询
在 SQL Server 世界中一切正常。来到 PostGreSQL 世界,我被这样看起来有点奇怪的查询撞到了
现在我很想知道如何在 NPOCO 中使用 PostgreSQL 查询,因为列名和表名必须用引号引起来
提前致谢
linq - NPoco/PetaPoco Fetch() 获取所有数据然后过滤客户端是否正常?
我注意到 NPoco(或 PetaPoco)的工作方式存在巨大差异,具体取决于您在使用 LINQ 时调用的函数。
例如比较 Fetch() which Query() 两者似乎都在做同样的事情:
答:Fetch<EntryImage>().Where(t => t.EntryType == type && t.EntryID == entryID);
乙:Query<EntryImage>().Where(t => t.EntryType == type && t.EntryID == entryID);
A返回表中的每一行(10,000+),然后过滤客户端。
B只返回我期望的一行。
我发现这种行为非常危险——很容易编写性能非常糟糕的代码而不会真正注意到晚上。这是预期的行为吗?如果这是正常行为,有没有办法获得以这种方式工作的方法列表,所以我可以尽可能避免使用它们?