C#6中的null和字符串插值

Dis*_*ted 1 c# c#-6.0

我正在使用新的C#6.0功能String Interpolation来生成SQL语句.

$@"INSERT INTO [dbo].[TableName]([Column1], [Column2]) Values({item.property1}, {item.property2})";
Run Code Online (Sandbox Code Playgroud)

如果属性为null,则生成的SQL如下所示

INSERT INTO [dbo].[TableName]([Column1], [Column2]) Values(,)
Run Code Online (Sandbox Code Playgroud)

这会导致错误.(不正确的SQL).
我需要Null而不是空格.我能以某种方式实现这一目标吗

usr*_*usr 6

{Convert.ToString(item.property1) ?? "NULL"}应该这样做.这仍然被打破,因为您需要非常具体的格式化SQL才能正确显示.您可以自己解决格式问题.

已经在评论中给出了通常的SQL注入免责声明.这种方法是不可挽回的.你需要扔掉它.

  • Upvote为`需要扔掉它' (3认同)