无法使用Dapper运行更新语句(参数错误)。
我正在尝试使用dapper更新一行,但是我在更新语句中指定参数 中有错误 An exception of type 'System.InvalidOperationException' occurred in IBM.Data.DB2.iSeries.dll but was not handled in user code Additional information: Not enough parameters specified. The command requires 3 parameter(s), but only 0 parameter(s) exist in the parameter collection. repository.cs public void Update(Movie movie) { var sql = "UPDATE myDB.movies set title=?, genre=? where Id=?"; db
20 2024-04-26
编程技术问答社区
使用内部连接从Dapper获取数据
我正在为一个项目开展数据库操作,并开发Winforms应用程序C#,并且我正在使用Dapper将数据从DB中获取,我困扰着需要使用内部加入来检索数据的情况.例如.我有两个表作者,并且预订如下: public class Authors { public int AuthorId { get; set; } public string AuthorName { get; set; } } public class Book { public int BookId { get; set; } public string AuthorId { get; set; } public string Title { get; set; } public string Description { get; set; } public int Price { get; set; } } 现在,在SQL Server中,我可以使用以下查询轻
10 2024-04-21
编程技术问答社区
Dapper: 是否可以定制特定类型的特定字段的类型映射?
假设我有这个User类: public class User { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } public DateTime DateCreated { get; set; } public DateTime LastLogin { get; set; } } 我想映射到下表: CREATE TABLE "user" ( "ID" int(11) NOT NULL AUTO_INCREMENT, "FirstName" varchar(45) DEFAULT NULL, "LastNa
14 2024-04-19
编程技术问答社区
潇洒哥应该使用 "使用 "声明吗?
我看过有人在做的示例: IDbConnection db = new MySqlConnection(conn); var people = db.Query("SELECT * FROM PEOPLE").ToList(); 或上述不良习惯,应使用类似的陈述进行所有查询: using (var db = new MySqlConnection(conn)) { var people = db.Query("SELECT * FROM PEOPLE").ToList(); } 解决方案 正如其他人正确指出的那样,通常的最佳实践是使用using对象实现IDisposable,并且您知道对象的寿命将很短 - 也就是说,也就是说不超过当前方法的持续时间.这样做确保及时清理稀缺的操作系统资源.即使对象的处置被其最终化器"后排",您也不想处于一个情况下,您在文件或数据库上有锁定或直到最终制度运行几个东西之前不会释放的东西从现在开始的十亿纳秒.
6 2024-04-19
编程技术问答社区
为什么Azure数据库在交易方面表现更好
我们决定对Azure数据库使用微型官员.由于我们的业务只需要"插入"和"选择",因此我们决定压制所有代码管理的SqlTransaction(数据上没有并发问题). 然后,我们注意到我们的Azure数据库实例的响应非常缓慢. " rpc完成"事件发生在延迟中,这是运行简单SQL语句所需的数百倍. 接下来,我们用EF6对代码进行了基准测试,我们看到服务器响应很快.当EF6实施内置交易时,我们决定在微型士官上恢复SqlTransaction(readcompered),我们注意到一切都很好. Azure数据库是否需要显式SqlTransaction(由代码管理)? SqlTransaction如何影响Azure数据库的性能?为什么要以这种方式实施? 编辑:我将发布一些有关我们收集痕迹方式的更精确的信息.似乎我们的Azure事件有时会在纳秒内表达,有时以毫秒为单位.看起来很奇怪. 解决方案 如果我理解您的要求正确的内容,则将多个SQL查询分成一个交易将为您提供更好
如何使用Dapper从数据库生成模型?
我来自Petapoco营地. Petapoco具有一个T4模板,该模板从数据库中生成模型. Dapper可以使用类似的东西吗? 我使用nuget安装了dapper并添加了sqlhelper.cs,但是我找不到从数据库中生成模型的任何东西. 解决方案 dapper本身为连接对象提供了很少的扩展方法(查询,执行),并且没有"模型生成器".也许可以使用其他一些框架来基于DB模式生成POCO. 更新:
8 2023-11-23
编程技术问答社区
Dapper选择嵌套对象
我的SQL看起来像 Select TOP 3 o.OrderId, o.Total, od.Quantity, od.ItemDescription, os.OrderStatusDescription, os.OrderStatusID From dbo.Orders o INNER JOIN dbo.OrderStatuses os ON os.OrderStatusID = o.OrderStatusID INNER JOIN dbo.OrderDetails od ON od.OrderID = o.OrderID Where o.CustomerId = 100 order by OrderDate desc; 我的班级在下面的C#方面,我在DB侧也有三张桌子. 我正在尝试查看是否可以使用Dapper将3个表映射到一个对象顺序中,而无需进行多个选择的查询. 我需要从订单表及其子桌上加载的前3行. OrderDetail可以有1个订购的n行. 如何使用D
14 2023-09-25
编程技术问答社区
用dapper查询空间数据
我发现了一些相关的问题使用存储过程进行"映射". 这实际上是在这里 模型 public class Store { public int Id { get; private set; } public string Name { get; set; } public string Address { get; set; } public DbGeography Location { get; set; } } 查询 using (SqlConnection conn = SqlHelper.GetOpenConnection()) { const string sql = "Select * from Stores"; return conn.Query(sql, new { Tenant_Id = tenantId }); } dapper不了解空间数据,正如许多人所说的那样,作者不是支持供应
34 2023-09-24
编程技术问答社区
如何使用dapper向SQL Server插入DbGeography
我已经创建了模型using System.Data.Entity.Spatial; public class Store { public int Id { get; private set; } public string Name { get; set; } public string Address { get; set; } public DbGeography Location { get; set; } } 插入DB using (SqlConnection conn = SqlHelper.GetOpenConnection()) { const string sql = "INSERT INTO Stores(Name, Address, Location) " + "VALUES (@Name, @Address, @Location)"; return co
148 2023-02-14
编程技术问答社区
PetaPoco-支持多个结果集
我最近开始使用PetaPoco的工作,尽管很棒,但我错过了Dapper的功能,该功能允许从单个查询要处理的多个结果网格 结果,我为PetaPoco撰写了自己的实施 - 如下所示 - 但是有人写了自己的书面并心于分享吗? 我以为可能还有其他人错过了此功能. 解决方案 编辑(2016-06-27): 从版本开始 5.1.181 petapoco 编写时间)此功能现在可以在Petapoco Nuget软件包 中获得 信息 我使用dapper源用作实施此功能的灵感,因此任何相似之处都是如此. 这可以直接更改Petapoco.cs文件,您可能不应该从一开始就从评论中判断! 此代码已经进行了测试,但不进行彻底的测试,请谨慎行事! 用法 private string _sql = @"SELECT * FROM WebOrders w INNER JOIN Address a ON a.Id = w.DeliveryAddressId WHER
74 2023-02-13
编程技术问答社区
为什么 "Limit() "方法在ServiceStack OrmLite v4中不复存在?
在 ServiceStack OrmLite v3 中,您可以这样做: var rows = db.Select().Limit(10)); 或者: var rows = db.Select().Limit(5, 10)); // skips 5 then takes 10 但是我在 v4 中再也找不到这些方法了. 我想我可以改为: var rows = db.SelectLazy().Take(10); 但是我怎样才能做一个 db.Select (不必编写直接 SQL),它将转换为(例如在 SQLite 中): SELECT * FROM Employee LIMIT 10; 另外,是否可以为以下内容编写等效查询(同样无需编写直接 SQL)? SELECT * FROM Employee ORDER BY Age; 谢谢. 解决方案 在 ServiceStack.OrmLite v4
84 2022-08-15
编程技术问答社区
使用Access的Dapper,更新语句部分不工作
我有一个产品类,并试图通过访问数据库评估Dapper.选择,删除和插入操作正常,但是我对更新操作有问题.它以一种方式仅在下面以一种方式工作) 我尝试更改描述基于 productNumber 它可以使用(UpdateTeTatement2)并进行了更新,但是当我尝试更改 productnumber 基于 description (updatateTatement1)它不起作用,并且productnumber无法更新.对我来说有点奇怪.是一个错误还是我错过了什么?我的数据库只是一个基本的数据库,没有主键集.我已经连接了下面的屏幕快照 (有关更多信息,请参见下面的我的代码) public class Products { public string ProductNumber { get; set; } public string Description { get; set; } } static void Main(string[] args) {
124 2022-08-15
编程技术问答社区
用Dapper查询一个复杂的对象
我有下表,删节: CREATE TABLE [dbo].[TERMINAL] ( [TERM_CODEID] SMALLINT NOT NULL, [TERM_ACTIVE] SMALLINT NOT NULL, [TERM_NAME] VARCHAR (30) NOT NULL, [TERM_SLA] CHAR (8) NOT NULL, [TERM_SERIAL] VARCHAR (8) NULL, [TERM_VERSION] VARCHAR (8) NULL, [TERM_STATUS] INT NULL, ) 当我尝试以下 Dapper 代码时 - 我是一个完整的 Dapper 新手,昨天发现它 - 我收到一个错误: using (var conn = new SqlConnection("data source=ou
176 2022-08-03
编程技术问答社区
用Dapper查询一个复杂的对象
我有一个具有以下属性的客户类: public int Id { get; set; } public string Name { get; set; } public int AddressId { get; set; } public Address Address { get; set; } 我的目标是编写一个 Dapper 查询,该查询将使用 Inner Join 填充每个返回的 Customer 中的整个 Address 属性. 这是我所拥有的,它正在工作,但我想知道这是否是最干净/最简单的方法: StringBuilder sql = new StringBuilder(); using (var conn = GetOpenConnection()) { sql.AppendLine("SELECT c.Id, c.Name, c.AddressId, a.Address1, a.Address2, a.City, a.State, a.ZipCode
162 2022-08-03
编程技术问答社区
使用Dapper的字符串解析错误
我有下表,删节: CREATE TABLE [dbo].[TERMINAL] ( [TERM_CODEID] SMALLINT NOT NULL, [TERM_ACTIVE] SMALLINT NOT NULL, [TERM_NAME] VARCHAR (30) NOT NULL, [TERM_SLA] CHAR (8) NOT NULL, [TERM_SERIAL] VARCHAR (8) NULL, [TERM_VERSION] VARCHAR (8) NULL, [TERM_STATUS] INT NULL, ) 当我尝试以下 Dapper 代码时 - 我是一个完整的 Dapper 新手,昨天发现它 - 我收到一个错误: using (var conn = new SqlConnection("data source=ou
1392 2022-07-17
编程技术问答社区