Skip to main content

NHibernate sample web Application

step 0-> 
Create a database(Example:Employee),  And a Table(Example:tbl_contact )

 
 step 1->

 add references as follows





step 2-> 


then open visual studio webapplication(name for example: WebApplication1)
step 2.1->

Add a Class for storing business objects as follows
  public class Contactss
    {
        private int _contactId;
        private string _firstName;
        private string _lastName;
        private string _email;
        private string _telephone;

        public virtual int ContactId
        {
            get { return _contactId; }
            set { _contactId = value; }
        }

        public virtual string FirstName
        {
            get { return _firstName; }
            set { _firstName = value; }
        }

        public virtual string LastName
        {
            get { return _lastName; }
            set { _lastName = value; }
        }

        public virtual string Email
        {
            get { return _email; }
            set { _email = value; }
        }

        public virtual string Telephone
        {
            get { return _telephone; }
            set { _telephone = value; }
        }

     
    } 

step 2.2->
Add a Web form with following design

 <form id="form2" runat="server">
    <div>
        <asp:Label ID="lblFirstName" runat="server" Text="First Name:"></asp:Label>
        <asp:TextBox ID="FirstName" runat="server"></asp:TextBox><br />
        <asp:Label ID="lblLastName" runat="server" Text="Last Name:"></asp:Label>
        <asp:TextBox ID="LastName" runat="server"></asp:TextBox><br />
        <asp:Label ID="lblEmail" runat="server" Text="Email:"></asp:Label>
        <asp:TextBox ID="Email" runat="server"></asp:TextBox><br />
        <asp:Label ID="lblTelephone" runat="server" Text="Telephone:"></asp:Label>
        <asp:TextBox ID="Telephone" runat="server"></asp:TextBox><br />
       
        <br />
        <br />

        <asp:Button ID="btnSaveContact" runat="server" Text="Save Contact" OnClick="btnSaveContact_Click" />
    </div>
    </form>


then create corresponding btnSaveContact_Clicke() Function

               protected void btnSaveContact_Click(object sender, EventArgs e)
        {
            NHibernate.Cfg.Configuration config = new NHibernate.Cfg.Configuration();
            Assembly myAssenbly = typeof(Contactss).Assembly;
            config.AddAssembly(myAssenbly);

            Contactss contact = new Contactss();
            contact.FirstName = FirstName.Text;
            contact.LastName = LastName.Text;
            contact.Email = Email.Text;
            contact.Telephone = Telephone.Text;
            NHibernate.ISessionFactory factory = config.BuildSessionFactory();
            NHibernate.ISession session = factory.OpenSession();
            using (NHibernate.ITransaction transaction = session.BeginTransaction())
            {
                session.Save(contact);
                transaction.Commit();
                session.Close();
            }
        }
    }



step -3>

add Mapping File (Name for example:Contact.hbm.xml).and change its  Build Action Property to-Embedded Resources

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   namespace="WebApplication1"
                   assembly="WebApplication1">

  <class name="Contactss" table="tbl_contact">
    <id name="ContactId" column="contact_id" type="int">
      <generator class="identity"></generator>
    </id>

    <property name="FirstName"  column="first_name" type="String"/>
    <property name="LastName"   column="last_name"  type="String"/>
    <property name="Email"      column="email"      type="String"/>
    <property name="Telephone"  column="telephone"  type="String"/>
  </class>
</hibernate-mapping>



step 4->

Add  write statement in your web.xml file

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
  </configSections>
  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
      <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
      <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
      <property name="connection.connection_string">Data Source=PC-TVM01-D002;Initial Catalog=Employee;User ID=sa;Password=password1</property>
      <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
      <property name="show_sql">false</property>
      <!--<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>-->
      <mapping assembly="WebApplication1"/>
    </session-factory>
  </hibernate-configuration>
  <system.web>
    <compilation debug="true"/>
  </system.web>
</configuration>





Comments