executesqlinterpolated/executesqlraw参数在asp.net内核中错误地传递到数据库

xxb16uws  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(194)

我正在尝试使用executesqlinterpolated更新我的数据库。但是,我的sql参数似乎有问题。正确运行以下代码将更新intfield1和intfield2,但是stringfield将变成字符串“@p0”。

_context.Database.ExecuteSqlInterpolated($"UPDATE table SET stringField='{someString}', intField1={someInt}, intField2={someOtherInt} WHERE id='{id}'");

我已经验证了当字符串传递给方法时,我的变量是否包含所需的值。我知道@p0是sql用来表示查询中第一个参数的,但是为什么不用我给它的字符串来替换它呢?我也尝试过使用executesqlraw,但遇到了同样的问题。我对sql的知识充其量是有限的,我只知道在webdev中勉强糊口,所以我猜我在这里编写查询时犯了一些简单的错误,但显然我不确定。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题