0

私は流暢な nhibernate を初めて使用し、問題が発生しました。従来の方法を使用して asp.net でログイン コントロールを作成しました。また、Fluent nhibernate を使用してコードをアップグレードしたいのですが、現在のコードが与えられています。下

protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con1"].ConnectionString);
        con.Open();
        SqlCommand cmdr = new SqlCommand("Select name,password From registration", con);
        SqlDataReader dr = cmdr.ExecuteReader();
        while (dr.Read())
        {
            if (txt_name.Text == dr[0].ToString() && txt_pass.Text == dr[1].ToString())
            {
                Session["new"] = txt_name.Text;
                Response.Redirect("logout.aspx");
            }
            else
            {
                label4.Text ="Invalid Username/Password";
            }
        }

    }

私の質問は、流暢なnhibernateを使用して同じ機能を実行する方法です

4

1 に答える 1

1
using NHibernate.Linq;

public ISession DbSession { get; set; } // set on each Beginrequest with ISessionFactory.OpenSession();

protected void Button1_Click(object sender, EventArgs e)
{
    var registrations = DbSession.Query<Registration>()
        .Where(registration => registration.Name == txt_name.Text)
        .ToList();

    if (registrations.Count == 0 || registrations[0].Password != txt_pass.Text)
    {
        label4.Text ="Invalid Username/Password";
    }
    else
    {
        Session["new"] = txt_name.Text;
        Response.Redirect("logout.aspx");
    }
}
于 2013-05-10T06:14:56.020 に答える