1

我正在尝试运行以下 SQLKata 语句以通过 .NET Core Lambda 函数 (AWS) 更新一行数据。见下文:

                    var affected = db.Query(targetTable)
                        .WhereIn("magento_order_id", order.order_id.ToString())
                        .Update(new
                        {
                            order_picked_up = order.status
                        });

我有理由确定这个语句在早些时候是有效的,直到我把它放在一个 forreach 循环中。现在我收到以下错误:

SqlKata.Execution.XQuery' does not contain a definition for 'Update'

从 SQLKata 文档来看,他们的示例与我的示例看起来并没有太大不同,除了使用 Where 而不是 WhereIn (我都尝试过)

int affected = db.Query("Books").Where("Id", 1).Update(new {
    Price = 18,
    Status = "active",
});

我可以看到 IDE 似乎认为 .Update 仍然是动态变量 order.order_id.ToSTring() 的一部分,因为当我将鼠标悬停在 .Update 上时,它解析为“动态”而不是 Query,但我不清楚为什么。

4

1 回答 1

0

我的代码

SqlKata.Query query = db.Query("UserImage").Where("ImageId", 1);
query.Update(new
     {
      UserId = 1,
      ImagePath = 'imagepath',
      ImageType = 'avata'
     });

当在“where”IDE 之后放置更新时显示它是动态对象的更新方法,而不是 SqlKata.Query

于 2020-10-28T00:22:45.750 回答