@0在SQL查询中用于什么?

@0在SQL查询中用于什么?,sql,Sql,例如: db.QuerySingle("SELECT Email FROM UserProfile WHERE LOWER(Email) = LOWER(@0)", email); @符号表示一个参数。它后面的单词,或者在本例中是它后面的数字,是参数的名称 使用参数有很多原因。主要的是要有一个sql语句,当变量/参数改变时,它不会改变。这使数据库有机会优化执行计划(例如,它不必重新计算执行计划) 在这种情况下,它还具有一些安全优势(防止sql注入)。这看起来像sql Server中变量的名称。

例如:

db.QuerySingle("SELECT Email FROM UserProfile WHERE LOWER(Email) = LOWER(@0)", email);

@
符号表示一个参数。它后面的单词,或者在本例中是它后面的数字,是参数的名称

使用参数有很多原因。主要的是要有一个sql语句,当变量/参数改变时,它不会改变。这使数据库有机会优化执行计划(例如,它不必重新计算执行计划)


在这种情况下,它还具有一些安全优势(防止sql注入)。

这看起来像sql Server中变量的名称。你的问题有更多的上下文吗?它在WebMatrix中的startersite模板中使用,我不知道它从哪里得到它的值,然后它应该表示一个参数。WebMatrix与SQL Azure一起使用。在这种情况下它意味着什么?它的价值从何而来。它来自webmatrix starter razor站点,如果有帮助的话。在本例中,它是您传入的
电子邮件
变量。我认为WebMatix使用EF,它“知道”第一个参数从0开始,以此类推。