NHibernate入门示例1

create table Cat2(
CatId 
char(32not null primary key,
Name 
nvarchar(16not null,
Sex 
nchar(1),
Weight 
[real]
)
代码
<configuration>
  
  
<!-- Add this element -->
  
<configSections>
    
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
  
</configSections>

  
<!-- Add this element -->
  
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    
<session-factory>
      
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
      
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
      
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
      
<property name="connection.connection_string">Server=192.168.10.99;initial catalog=DProjectWCGTest;uid=sa;pwd=Admin12345;</property>
      
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
      
      
<property name="show_sql">true</property>
     
      
<!--<mapping resource="TestStaticContructor.Models.Cat.hbm.xml" assembly="TestStaticContructor" />-->
      
<mapping  assembly="TestStaticContructor" />
    
</session-factory>
  
</hibernate-configuration>
  
</configuration>
代码
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TestStaticContructor.Models" assembly="TestStaticContructor">
  
  
<!--
  独立的实体: e.g.
  <class name="Test.Model.Person, Test.Model" table="Person">
-->
  
<class name="Cat" table="Cat">
    
<!-- A 32 hex character is our surrogate key. It's automatically
generated by NHibernate with the UUID pattern. 
-->
    
<id name="Id">
      
<column name="CatId" sql-type="char(32)" not-null="true"/>
      
<generator class="uuid.hex" />
    
</id>
    
<!-- A cat has to have a name, but it shouldn' be too long. -->
    
<property name="Name">
      
<column name="Name" length="16" not-null="true" />
    
</property>
    
<property name="Sex" />
    
<property name="Weight" />
  
</class>
</hibernate-mapping>
代码
public class Cat
    {
        
private string id;
        
private string name;
        
private char sex;
        
private float weight;
        
public Cat()
        {
        }
        
public virtual string Id
        {
            
get { return id; }
            
set { id = value; }
        }
        
public virtual string Name
        {
            
get { return name; }
            
set { name = value; }
        }
        
public virtual char Sex
        {
            
get { return sex; }
            
set { sex = value; }
        }
        
public virtual float Weight
        {
            
get { return weight; }
            
set { weight = value; }
        }
    }
代码
  static void Main(string[] args)
        {
            ISessionFactory sessionFactory 
= new Configuration().Configure().BuildSessionFactory();

            ISession session 
= sessionFactory.OpenSession();

            Cat2 cat 
= new Cat2();
            cat.Name 
= "Cat2";

            Console.WriteLine(
"cat.name={0}",cat.Name.Length);

            cat.Sex 
= '';
            cat.Weight 
= 3.14f;
            ITransaction tran 
= session.BeginTransaction();
            
try
            {
                session.SaveOrUpdate(cat);
                tran.Commit();
            }
            
catch (Exception )
            {
                tran.Rollback();
                
throw;
            }
            session.Close();
            sessionFactory.Close();

            Console.WriteLine(
"done");
            
////
            //MyClass.SayHi();
            
//MyClass mc = new MyClass();
            Console.ReadKey();
        }
原文地址:https://www.cnblogs.com/wucg/p/1831851.html