c#,NHibernate,ASP.NET2.0,Winform

转载 2012年08月29日 17:56:12
using System;
using System.Collections;


namespace Model
{
    
Person
}

复制代码
复制代码
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    
<class name="Model.Person, Model" table="Person" lazy="false">
        
<id name="Id" type="Int32" unsaved-value="null">
            
<column name="id" length="4" sql-type="int" not-null="true" unique="true" index="PK_Person"/>
            
<generator class="native" />
        
</id>
        
<property name="Name" type="String">
            
<column name="name" length="50" sql-type="varchar" not-null="false"/>
        
</property>
    
</class>
</hibernate-mapping>
复制代码
以上两个文件都是用codesmith自动生成的,很好用,里面有NHibernate模板。

有三个注意事项:
1、提示什么"Unknown entity class"之类的
请注意映射文件的<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">,一定要是2.2
2、
 如果提示实体类的属性需要加上virtual关键字,就需要在<class name="Model.Person, Model" table="Person" lazy="false">中加上 lazy="false"
3、
提示什么"Unknown entity class"之类的
右键实体类对应的Person.hbm.xml需要作为嵌入资源,右键文件,属性,Build Action设置为嵌入资源

下面是web.config文件中的内容,指明数据库的位置和类型,如果提示数据库没有打开远程访问之类的信息,需要在sqlserver 外围应用配置器中中打开本地连接和远程连接,同时启用命名管道和TCP/IP,在sqlserver configuration manager的sql2005协议将tcp/ip双击打开,将IP地址tab中的IPALL的TCP动态端口改为默认的1433.
复制代码
 <configSections>
      
<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System,
                    Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"
 />
    
</configSections>

    
<nhibernate>
      
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
      
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
      
<add key="hibernate.connection.connection_string" value="server=127.0.0.1;uid=virus;pwd=123.com;database=TestDB" />
      
<add key="hibernate.connection.isolation" value="ReadCommitted"/>
      
<add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect" />
    
</nhibernate>

下面是c#的代码

复制代码
NHibernate.Cfg.Configuration config = new NHibernate.Cfg.Configuration().AddAssembly("Model");
        ISessionFactory factory 
= config.BuildSessionFactory();
        ISession session 
= factory.OpenSession();

        Person person 
= new Person();
        person.Name 
= "swb";

        ITransaction tran 
= session.BeginTransaction();
        
try
        
{
            session.Save(person);
            tran.Commit();
            Response.Write(
"this is ok.");
        }

        
catch (Exception ex)
        
{
            tran.Rollback();
            Response.Write(ex.Message);
        }

        
finally
        
{
            session.Close();
        }
复制代码

vs2010下C# WinForm 搭建三层架构+NHibernate

  • 2015年07月30日 16:36
  • 1.09MB
  • 下载

C#,Castle,NHibernate,Oracle,最简单的实现

第一步(这一步骤也可以省略的):创建表 -- Create table create table USERS (   logonid      NVARCHAR2(255) not null,...
  • luolunz
  • luolunz
  • 2012-12-11 21:37:40
  • 2404

C#用NHibernate实现CRUD

现CRUD hibernate.cfg.xml NHibernate.Driver.SqlClientDriver Data Source=zhou;Initial C...
  • u014117094
  • u014117094
  • 2016-12-26 13:51:48
  • 666

基于winform的spring.net+Nhibernate示例

  • 2012年07月17日 10:04
  • 4.58MB
  • 下载

C# NHibernate 使用

  • 2010年01月07日 15:50
  • 739KB
  • 下载

Nhibernate在C#上的初级应用

本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看,...
  • ss136951345090
  • ss136951345090
  • 2014-11-09 16:05:19
  • 752

net的app.config程序配置Spring.net和nhibernate

  • fax5201314
  • fax5201314
  • 2013-03-12 10:58:45
  • 4819

C#开源持久层框架--NHibernate

  • 2010年07月11日 01:17
  • 773KB
  • 下载

终于配置好了winform下的Nhibernate+Spring.Net的框架模板,遇到的问题还真多...不过成熟了很多....

首先还是要高兴一下,今天配置好了这套框架就是以后开发的模板了,大大的提高了程序 的稳定性,提高了开发的效率。今天把配置过程中遇到的问题汇总一下:1.先将配置文件放到如下: ...
  • malun666
  • malun666
  • 2010-08-06 10:41:00
  • 4533

Nhibernate系列学习之(一) ORM and Nhibernate入门实例解析

最近框架项目需要,数据层想使用Nhibernate,代替传统的sql语句的写法,更加使用面向对象的思维来维护实体与数据库的这层关系映射(ORM),好在之前接触过Java时学习使用了Hibernate,...
  • lishehe
  • lishehe
  • 2014-08-03 15:29:30
  • 11330
收藏助手
不良信息举报
您举报文章:c#,NHibernate,ASP.NET2.0,Winform
举报原因:
原因补充:

(最多只允许输入30个字)