首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何阻止ExecuteSqlInterpolated用单引号将字符串参数括起来?

要阻止ExecuteSqlInterpolated方法在使用字符串参数时自动用单引号括起来,可以使用以下方法:

  1. 使用FormattableString:ExecuteSqlInterpolated方法接受FormattableString对象作为参数,该对象允许对字符串进行自定义格式化。可以通过创建一个FormattableString对象,并在需要传递字符串参数的地方使用大括号{}来表示参数的位置,从而避免自动添加单引号。示例代码如下:
代码语言:txt
复制
string name = "John";
FormattableString query = $"SELECT * FROM Users WHERE Name = {name}";
context.Database.ExecuteSqlInterpolated(query);
  1. 使用SqlParameter:可以使用SqlParameter类来代替直接传递字符串参数,这样可以显式地指定参数类型,并避免自动添加单引号。示例代码如下:
代码语言:txt
复制
string name = "John";
SqlParameter parameter = new SqlParameter("@name", name);
context.Database.ExecuteSqlRaw("SELECT * FROM Users WHERE Name = @name", parameter);

这样做可以确保传递的参数不会被单引号包围,同时还能提高代码的安全性和可读性。

值得注意的是,上述方法并不是阻止ExecuteSqlInterpolated方法自动添加单引号的唯一方式,具体的实现方式可能会因不同的开发环境、框架或库而有所差异。建议查阅相关文档或官方文档以获得更多详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券