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

Popular posts from this blog

NHibernate Introduction

 NHibernate NHibernate is an open source Object-Relational Mapping (ORM) tool for the .Net platform… and the existing documentation and tutorials that I could find, whilst plentiful, are not aimed at those new to or inexperienced with ORM. This tutorial is based on using Visual Studio (I used 2008 beta 2) and Sql Server, however the database used is almost immaterial (one of the advantages of using an OR mapper). If you already know what NHibernate and ORM are and you want to use it but just need to know how?  Otherwise, read on. WTF is ORM? There is plenty of good stuff out there on what Object-Relational Mapping is, try wikipedia or the intro here (the tutorial is a bit out of date but the explanation is good) or there’s always Google . However, in a nutshell, ORM is the process of mapping business objects (think OOP) to database relations (read tables). An OR Mapper is a tool that manages this process. There are several different OR Mappers available for ...

Computer Science Defenition

Computer Science Computer science is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures (or algorithms ) that underlie the acquisition, representation, processing, storage, communication of, and access to information , whether such information is encoded as bits in a computer memory or transcribed in genes and protein structures in a biological cell . [1] A computer scientist specializes in the theory of computation and the design of computational system

NHibernate QueryOver Class And Projection....

Introduction The ICriteria API is NHibernate's implementation of Query Object . NHibernate 3.0 introduces the QueryOver api, which combines the use of Extension Methods and Lambda Expressions (both new in .Net 3.5) to provide a statically typesafe wrapper round the ICriteria API. QueryOver uses Lambda Expressions to provide some extra syntax to remove the 'magic strings' from your ICriteria queries. So, for example: .Add(Expression.Eq("Name", "Smith")) becomes: .Where<Person>(p => p.Name == "Smith") With this kind of syntax there are no 'magic strings', and refactoring tools like 'Find All References', and 'Refactor->Rename' work perfectly. Note: QueryOver is intended to remove the references to 'magic strings' from the ICriteria API while maintaining it's opaqueness. It is not a LINQ provider; NHibernate 3.0 has a built-in ...