如何将引号括在整数 c# 周围?

How to enclose a quotes around an integer c#?

我正在使用以下内容对文档数据库进行动态查询

 var i = saList[index];
 engagementFilter.Append($"f.keys.SelectedEngagementId  = {i}");

这会生成查询

(f.keys.SelectedEngagementId = f9721f2e-144d-40b9-b530-fcf067cab682 OR f.keys.SelectedEngagementId = f55dd402-9975-4c55-8486-6cb9c6330a66)

但是我需要在 GUID 周围加上引号,我该怎么做?

(f.keys.SelectedEngagementId = "f9721f2e-144d-40b9-b530-fcf067cab682" OR f.keys.SelectedEngagementId = "f55dd402-9975-4c55-8486-6cb9c6330a66")

您可以尝试使用 \:

添加和转义它们
engagementFilter.Append($"f.keys.SelectedEngagementId  = \"{i}\"");

"f.keys.SelectedEngagementId = \"{i}\""@"f.keys.SelectedEngagementId = ""{i}"""

您应该改用参数化查询。这将保护您免受 SQL 注入,并将改进数据库中的查询解析。

engagementFilter.Append($"f.keys.SelectedEngagementId  = @i{position}");

在哪里添加 @i0 等参数。

documentation(参数化 SQL 查询部分)中阅读有关参数化查询的更多信息。