问题标签 [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.
c# - 如何使用 NPoco 在同一个表中保存嵌套对象?
我有这样的课:
其中 AuthResource 是:
存储数据的表具有以下字段:
- ID
- 资源 ID
- 资源类型
- 操作 ID
我可以很好地阅读 AuthEntity(包括 Resource 属性),但我不知道如何插入 AuthEntity 记录。NPoco 说没有 Resource 字段。如何将嵌套对象字段映射到表字段?
谢谢
c# - 在 NPoco 中处理任意查询
我觉得我在这里遗漏了一些明显的东西,我如何通过 NPoco 运行查询并检索任意数量的可能不同类型的值作为结果。
例子
假设我有一张如下所示的表格:
我想用以下(MSSQL)查询这个表:
所以我想我会使用类似于以下的代码,其中db
是一个 NPocoDatabase
对象。
问题是 NPoco 的 Query 方法需要一个类型参数,我不知道该给它什么。问题是这两个值实际上有不同的类型,一个是 a DateTime
,另一个是 a int
。我尝试使用以下内容:
但是我无法弄清楚访问/使用结果的语法,而且这一切看起来都很笨拙,我敢肯定我一定是用错误的方式处理了这个问题。
总结一下:
如何使用 NPoco 运行返回不同(任意)类型的列的查询,然后访问和使用这些值?
c# - 如何使用 npoco 更新包含列表中其他对象的对象?
我有一个包含一些属性的类,其中包含一个包含其他类对象的列表。
我想用 db.Update(Item) 之类的 npoco 进行更新 - 但是只有属性 Id 和 Name 得到更新,我怎样才能在同一个语句中使用 PictureLinks 更新列表?
c# - 为什么 AbortTransaction 不起作用?
我正在使用 npoco,试图处理事务,我无法获得AbortTransaction
回滚数据库中任何内容的方法。
从测试类调用:
------------- 建议答案后编辑:
现在我必须使用 db.Transaction.Commit() 在数据库中插入一些东西。然后,当尝试运行 db.AbortTransaction() 时,我收到错误消息:
“此 SqlCeTransaction 已完成;它不再可用。”
c# - 为什么 NPoco 几乎随机地忽略列和属性名称和映射?
我正在使用 NPoco ORM(PetaPoco 的一个分支),但我刚刚注意到它在某些情况下会错误地映射列。
我正在使用存储过程,并且我的 POCO 属性名称与存储过程生成的列名称相同:
存储过程是一个简单的 SELECT 语句,其中包含几个变量(删除它们没有帮助):
NPoco 中是否有一个函数会导致它猜测映射(忽略它们的名称)?如果是这样,我该如何禁用它并强制它仅根据列和属性名称匹配?
目前唯一的解决方法似乎是使用列属性 <-- 也不起作用
目前,甚至有人自动格式化存储过程(或任何导致列顺序更改的更改)都在破坏应用程序。
编辑 2
我注意到如果我重新启动网站应用程序(例如通过编辑 web.config 或更新应用程序代码),那么列顺序会自行修复。所以我只能假设问题与 NPoco 内部缓存列索引有关——如果索引发生变化,那么映射将不正确。我不确定是否有清除缓存的机制可能不起作用?
c# - NPoco/Petapoco:数据集太大,无法获取
我有一些代码必须处理数据集中的每条记录,我已经通过
我的程序在这里崩溃,出现内存不足异常。如果我用老式的方式来做,它会是这样的:创建一个阅读器,然后遍历每个检索到的记录。使用 Npoco / Petapoco 实现此类目标的最佳方法是什么?
c# - 让 NPoco 考虑数据库默认值
鉴于table
我的数据库(PostgreSQL)中的以下内容
我想使用 NPoco 来使用这个 poco 访问数据
现在,当我打电话时
created_at
-column 是-infinity
,即使该值default
已被声明。有没有什么办法解决这一问题?一种替代方法是在应用程序中设置日期,但我宁愿使用default
数据库中的值来实现此功能。
c# - PetaPoco / NPoco 的每个子类继承表
我正在使用NPoco Micro-ORM 的 2.6.88 版本。
假设我有一个像这样的类层次结构:
我需要将这个类层次结构映射到使用“每个子类的表”方法设计的数据库。这意味着我有一个包含Person
列PersonID
和的表Name
,并且我有一个Employee
包含列PersonID
和的表Department
。
现在我的问题是如何使用 NPoco 将新员工插入数据库?我试过这样的事情:
此代码在第一次插入时失败,因为 NPoco 尝试将 Employee 特定字段插入到 Person 表中。
我该如何正确实施?
c# - 使用反射获取动态创建的 NPOCO 对象键和值 C#
我必须编写一个管理模块,系统管理员可以在其中检查他选择的表中的所有值。由于数据库有 100 多个表,因此我编写了一个通用方法,该方法返回IEnumerable<object>
带有数据的 an:
结果中的每个项目都是 type object{NPoco.PocoExpando}
,我需要获取每个项目的键和值以将它们转换为单个字符串。当我在集合中创建一个 foreach 时,这就是每个项目的内容:
那么,我怎样才能访问那些“键”和“值”属性呢?获取字典也可能有所帮助。
编辑:这是有效的代码,感谢@Shaun Luttin 的回答
c# - 以毫秒为单位将 DateTime 插入 SQL Server
两周前我开始了一个新的 ASP.NET MVC 项目。我正在使用微型 ORM NPoco,我喜欢它!
DateTime
在测试期间,我在将属性保存到 SQL Server 2014 Express时遇到了问题。
当我尝试将它保存在数据库中的DateTime
值插入为. 数据库列类型是. 我试过了,结果总是一样 -> 00:03:28.38700:03:28.385
00:03:28.387
time(7)
datetime2(7)
然后我尝试了平原System.Data.SqlClient
:
结果是一样的:00:03:28.387
将时间作为字符串插入时会起作用。
所以这不是 NPoco 的问题。