2013-05-10 3 views
0

Я новичок в свободном nhibernate, и у меня возникла проблема. Я создал элемент управления входами в asp.net с использованием методов традиций. И я хочу использовать Fluent nhibernate для обновления моего кода, и я застрял с ним мой текущий код приведен нижеКонтроль входа с использованием свободного 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"; 
      } 
     } 

    } 

и мой вопрос заключается в том, чтобы сделать ту же самую функцию, используя Fluent NHibernate

ответ

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"); 
    } 
} 
Смежные вопросы