C# Asp.net MVC 3存储过程从表中返回一个值

C# Asp.net MVC 3存储过程从表中返回一个值,c#,asp.net-mvc-3,sql-server-2008,stored-procedures,C#,Asp.net Mvc 3,Sql Server 2008,Stored Procedures,我有要返回的SQL: CREATE PROCEDURE [Zinc].[GetUserByEmail] @Email nvarchar (256) AS SELECT zu.UserId FROM zinc.users zu WHERE zu.Email = @Email 到目前为止,在我的存储库中,我有: public int GetUserByEmail(string email) { using (SqlConnection conn = new SqlC

我有要返回的SQL:

  CREATE PROCEDURE [Zinc].[GetUserByEmail]
    @Email nvarchar (256)
  AS
    SELECT zu.UserId FROM zinc.users zu WHERE zu.Email = @Email
到目前为止,在我的存储库中,我有:

public int GetUserByEmail(string email)
{
    using (SqlConnection conn = new SqlConnection(ZincModelContainer.CONNECTIONSTRING))
    {
        using (SqlCommand cmd = conn.CreateCommand())
        {
            conn.Open();

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.CommandText = "[Zinc].[GetUserByEmail]";

            //not sure how to go from here?
        }
        return userId;
    }
}

由于它是标量值,请使用:

cmd.Parameters.Add("@Email", SqlDbType.NChar).Value = email;
var UserId = cmd.ExecuteScalar();

由于它是标量值,请使用:

cmd.Parameters.Add("@Email", SqlDbType.NChar).Value = email;
var UserId = cmd.ExecuteScalar();

Microsoft文档通常是最好的起点。请参阅:有关从SqlConnection读取的示例。

Microsoft文档通常是最好的起点。请参阅:以获取从SqlConnection读取的示例。

@MajorByte-感谢您的编辑和对答案的添加。@MajorByte-感谢您的编辑和对答案的添加。请向下投票人留下评论。谢谢,这是一件体面的事。请落选者留下评论。谢谢,这是一件体面的事。