问题标签 [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 的 Linq 查询翻译:c# 到 vb.net
我要做的是:在使用 NPoco ORM 查询数据库时,仅从模型中检索某些字段。
我被迫在 vb.net 中执行此操作,并且我想使用 linq 使代码更清晰(而不是硬编码字符串,这将是我最后的手段)。
我在这里找到了 c# 中的 linq 查询(参见@schotime [owner] first answer)。所以这是我要翻译的 linq 查询:
... Telerik c# 到 vb.net 的翻译器将其翻译为:
这似乎是错误的(From
关键字给出了错误),而且我自己尝试的任何替代方案都没有奏效。
有任何想法吗?...
c# - 为什么我的一些查询在 MySQL 服务器上非常长(超过 5000 毫秒)?
我有一个C#
应用程序使用它在服务器()NPoco
上执行许多查询。MySQL
version 5.6.17
这些查询的通常时间在几个ms
和之间40 ms
。
然而,有时似乎有些查询需要花费通常的时间5000 ms
,而且我绝对不明白为什么(例如5021 ms
)。也总是那些已经是最重的查询具有这种行为(即通常需要的查询40 ms
)。
(我已经安装了MySQL
带有WAMP
软件包的服务器(http://www.wampserver.com/),因为我还需要Apache
服务器和PHP
服务器。)
你知道我应该在哪里解决这个烦人的问题吗?
c# - NPOCO Oracle 服务器插入引发异常
所以我是 NPOCO 的新手,几乎没有使用 Oracle 的经验!但我的任务是创建一个将一些数据写入表的方法!这是我的情况。我创建了我的模型
我也有一个数据映射器设置
还有我的数据库工厂
所以我在应用程序启动时调用这个设置方法
这是插入数据的方法
它是这样称呼的
在我得到 dbContext.Insert(model); 之前,这一切都很好。我收到一个异常 Oracal.DataAccess.Client.OracleException 异常消息“ORA-00932:不一致的数据类型:预期的 NUMBER 得到了 BINARY”
我一遍又一遍地查看数据,一切看起来都很好,现在不知道还能用它做什么。所以我想问题是,是否有人对 NPOCO 和将数据保存到 oracle 有任何经验,我的意思是我尝试使用和不使用 Mapper,我得到了同样的错误。这是一个反序列化到我的模型中的 JSON 示例:
编辑: 这是所要求的表格
sql-server - VB.NET - PetaPoco\NPoco - 从具有动态和静态列的表中获取数据 - 性能问题
我有一个具体的情况,我还没有找到解决方案。
我有几个具有相同结构的数据库,其中有一个表(比如说),它具有已知的列,Users
例如:UserID
、、、等...在同一个表中,我有动态自定义列,我只能在运行时知道, 如: , , , 等...UserName
UserMail
customField54
customField75
customField82
我有一个屏幕,我必须在其中显示用户列表,并且有数千条记录(必须显示所有用户 - 毫无疑问)。
数据库 A 中的 Users 表列如下所示:
例如,假设我有另一个数据库 B,那里的表用户看起来像这样:
我有一个代码,每次都连接到另一个数据库。所以我有一个代码->多个数据库,而每个数据库的区别是Users
表的自定义字段。
如果我使用 DataTable,我可以查询:
然后,我可以动态检索自定义字段值,如下所示:
我的意图不是使用 DataTables。我想使用强类型对象。我无法使用内部的 customFields 创建用户的 POCO,因为对于每个数据库,Users 表都有不同的 customFields 列,因此我无法创建具有强类型变量的对象。
然后,我决定创建一个包含已知列的用户类,以及一个包含 customFields 的字典。
在 VB.NET 中,我创建了一个用户类,如下所示:
该类具有静态值:UserID
,UserName
等...此外,它具有customFieldIDs
及其值的字典,因此我可以在单个操作中检索值(在 O(1) 复杂度中)
我使用 MicroORM PetaPoco\NPoco 来填充这些值。ORM 允许我获取用户数据,而无需我自己迭代数据,方法是调用:
但是customFields
没有填充字典。为了填充,我必须迭代userList
和为每个用户检索customFields
数据。这是获取数据的一种非常昂贵的方式,并且会导致非常糟糕的性能。
我想知道是否有一种方法可以通过单个命令使用 PetaPoco\NPoco 将数据提取到 User 类中,并设法为每个用户填充已知值和自定义字段字典,而无需遍历整个集合.
我希望它被理解。这对我来说真的很难解释,也是一个很难找到解决方案的问题。
c# - NPoco 的存储库模式,值得吗?
我正在考虑将 NPoco 用于大型业务应用程序。我有点担心开发存储库模式是否值得?
我将需要在同一个用例中处理多个实体上的复杂 SQL 语句和广泛的数据库操作。
NPoco 提供了各种数据库操作功能,我认为这些功能不会(直接)被我的存储库层暴露给消费者层。
Edit-1 哪种方法更能充分利用 NPoco?
c# - 如何覆盖 npoco 中的设置属性?
我有一堂课,比如
当 npoco 从数据库中选择年龄时,我想覆盖它,以便它也运行一个函数并设置 ageText。因此,如果它尝试将年龄设置为 25,它还将运行一个函数:
sql - 哪个层用于使用 NPoco 的原始 SQL 查询?
我正在为我的 BLA 使用 NPoco。我需要知道在 .NET 应用程序中将自定义/原始 SQL 查询与 NPoco 一起使用的最佳做法是什么?
一般来说,我知道不鼓励使用原始 SQL 查询,但是对于 NPoco,我有一些场景可以连接多个表(5,6 或更多)以获得 8,9 列的表结果。
我的数据库有一个通用存储库,我用它来访问我的模型。那么我应该在哪一层编写原始 sql 查询,我的 BL 中需要哪个结果?我应该始终创建临时 DTO 来接收/映射此类查询的结果还是动态接收它们?(将这样的结果映射到动态对象中会有多昂贵?)
提前感谢您的宝贵反馈。
丹妮
c# - 执行 Oracle 函数并取回返回值
我正在使用 NPoco ORM 并试图从 Oracle 函数中获取结果。我努力了:
但它不起作用并返回ORA-00900: invalid SQL statement
Oracle 函数类似于:
npoco - 在适用于 npoco 的查询中使用连接的任何示例
你能给我任何从连接表查询和映射结果集的例子吗?我有以下代码:
DTO:
询问:
结果是异常:“不明确的列名'SGroupId'”。我试图改变属性:
现在我得到一个例外
列名“MForm.SGroupId”无效
令人惊讶的是,我在官方文档中没有找到任何示例。任何对 npoco 有效的帮助都会很有用。
更新
对于我的第一个案例,我正在生成以下 SQL:
我想我需要一些方法来添加“MForm”。在“[SGroupId] AS [GroupId]”之前。如果列属性可以支持类似 [Column("TableName.ColumnName")] 的语法,那就太好了
create-table - 使用 PetaPoco(和 NPoco)创建表的推荐方法是什么?
假设我需要一个如下所示的表格:
使用 PetaPoco 和 NPoco 创建上表的推荐方法是什么?