我在vs2005中学习nhibernate,按网上的教程做了几个试例,但都不成功,老是提示出错,请问各位谁有做过nhibernate在VS2005中的例 子!可以给个介绍吗?或有教程可以发一份吗,谢过了!

解决方案 »

  1.   

    NHibernate:One-to-Many一对多映射
    这个例子对楼主不知道有没有用
    http://www.1024k.cn/net/2006/200610/1032.html
      

  2.   

    下面给出一个在nhibernate中执行SQL语句的方法ExecuteSQL。
    public IList ExecuteSQL( string query ) {
       IList result = new ArrayList();   ISessionFactoryImplementor s = (ISessionFactoryImplementor)cfg.BuildSessionFactory();
       IDbCommand cmd = s.ConnectionProvider.Driver.CreateCommand();
       cmd.CommandText = query;   IDbConnection conn = s.OpenConnection();
       try {
          cmd.Connection = conn;
          IDataReader rs = cmd.ExecuteReader();      while ( rs.Read() ) {
             int fieldCount = rs.FieldCount;
             object[] values = new Object[ fieldCount ];
             for ( int i = 0; i < fieldCount; i ++ )
                values[i] = rs.GetValue(i);
             result.Add( values );
          }
       }
       finally {
          s.CloseConnection(conn);
       }   return result;
    }
    执行存储过程的方法. public IList ExecuteStoredProc( string spName, ICollection paramInfos ) {
       IList result = new ArrayList();   ISessionFactoryImplementor s = (ISessionFactoryImplementor)cfg.BuildSessionFactory();
       IDbCommand cmd = s.ConnectionProvider.Driver.CreateCommand();   cmd.CommandText = spName;
       cmd.CommandType = CommandType.StoredProcedure;    // 加入参数
       if ( paramInfos != null ) {
          foreach( ParamInfo info in paramInfos ) {
             IDbDataParameter parameter = cmd.CreateParameter();
             parameter.ParameterName = info.name; // driver.FormatNameForSql( info.Name );
             parameter.Value = info.Value;
             cmd.Parameters.Add( parameter );
          }
       }   IDbConnection conn = s.OpenConnection();
       try {
          cmd.Connection = conn;
          IDataReader rs = cmd.ExecuteReader();       while ( rs.Read() ) {
             int fieldCount = rs.FieldCount;
             object[] values = new Object[ fieldCount ];
             for ( int i = 0; i < fieldCount; i ++ )
                values[i] = rs.GetValue(i);
             result.Add( values );
          }
       }
       finally {
          s.CloseConnection(conn);
       }   return result;
    }
     其中ParamInfo为存储参数信息的结构, 定义如下:
     public struct ParamInfo {
        public string Name;
        public object Value;
     }
      

  3.   

    我现在是不知怎么在VS2005中配置它!它老提示这句话出错!<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> 
      

  4.   

    从ADO.NET进入LINQ,走一条阳关道吧。
      

  5.   

    http://www.cnblogs.com/Roping/archive/2007/03/27/689805.html