Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架查询-必须声明标量变量_C#_Sql_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 实体框架查询-必须声明标量变量

C# 实体框架查询-必须声明标量变量,c#,sql,asp.net-mvc,entity-framework,C#,Sql,Asp.net Mvc,Entity Framework,这个项目是用ASP.NETMVC用c编写的 您好,我用实体框架创建了数据库并添加了一些数据。现在我想获取数据并将其放入变量中 这就是我获取数据的方式,它是这样工作的: string hash = db.Database.SqlQuery<string>("Select PasswordHash From Users where Username = 'Paul'").FirstOrDefault<string>(); 感谢您的帮助。数据库认为@username是一个变量

这个项目是用ASP.NETMVC用c编写的

您好,我用实体框架创建了数据库并添加了一些数据。现在我想获取数据并将其放入变量中

这就是我获取数据的方式,它是这样工作的:

string hash = db.Database.SqlQuery<string>("Select PasswordHash From Users where Username = 'Paul'").FirstOrDefault<string>();

感谢您的帮助。

数据库认为@username是一个变量,这就是您收到错误消息的原因。正如您所说,您可以使用参数,这将用其值替换参数。这些参数被传递给您正在用作数组的方法。

数据库认为@username是一个变量,这就是您收到错误消息的原因。正如您所说,您可以使用参数,这将用其值替换参数。这些参数被传递给作为数组使用的方法。

同样,创建sql参数并将其附加到查询中

var parameters = new List<SqlParameter> {
    new SqlParameter("@username", username) 
};
string query = "Select PasswordHash From Users where Username = @username";

string hash = db.Database.SqlQuery<string>(query, parameters.ToArray()).FirstOrDefault<string>();

同样,创建sql参数并将其附加到查询,如

var parameters = new List<SqlParameter> {
    new SqlParameter("@username", username) 
};
string query = "Select PasswordHash From Users where Username = @username";

string hash = db.Database.SqlQuery<string>(query, parameters.ToArray()).FirstOrDefault<string>();
SqlQuery方法还有另一个重载,允许您将数据传递到查询中

msdn中的示例:

using (var context = new BloggingContext()) 
{ 
    var blogId = 1; 

    var blogs = context.Blogs.SqlQuery("dbo.GetBlogById @p0", blogId).Single(); 
}
SqlQuery方法还有另一个重载,允许您将数据传递到查询中

msdn中的示例:

using (var context = new BloggingContext()) 
{ 
    var blogId = 1; 

    var blogs = context.Blogs.SqlQuery("dbo.GetBlogById @p0", blogId).Single(); 
}
你看过文件了吗