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();
        }
复制代码

相关文章推荐

ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记一:简介

本人做了6年多的.NET开发,之前很少使用一些成型的企业级框架,很是遗憾。2个月前,经朋友介绍到一家java公司,公司从事业务系统开发,内部有成型的业务框架,属于ssh的二次开发。 在刚去公司的一段...
  • xz2001
  • xz2001
  • 2012年12月30日 10:29
  • 3811

ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记二:开发环境搭建

一、相关的下载地址 微软的东西一般都比较方便,主要是因为微软把很多东西都做成了傻瓜式的,即使你不懂也有完整的文档。就如最基本的软件安装一样,很少用到使用命令行操作的,只要一步一步next就完成了...
  • xz2001
  • xz2001
  • 2013年03月04日 09:53
  • 2481

ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记四:Spring.NET整合

本文源码地址:http://download.csdn.net/detail/xz2001/4944407 一、下载安装 目前Spring.NET的最新版是2.0,但正式版是1.3.2...
  • xz2001
  • xz2001
  • 2012年12月30日 16:10
  • 6106

ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记三:NHibernate配置

目前NHibernate的最新版是3.3.2,官方下载地址:http://sourceforge.net/projects/nhibernate/files/NHibernate/ 下载后解压N...
  • xz2001
  • xz2001
  • 2012年12月30日 15:26
  • 3261

ASP.NET2.0中Web应用程序样式切换(App_Themes)

主题是Microsoft ASP.NET 2.0 提供给开发人员的一项新增功能。          在 Asp.NET 2.0 出现以前, 给网站提供更换主题功能是一项繁重的工作,鉴于每切换一套...

ASP.NET2.0(C#)基础教程ppt

  • 2009年02月23日 16:30
  • 8.47MB
  • 下载

ASP.NET2.0轻松搞定统计图表

主页:http://blog.csdn.net/21aspnet/           时间:2007.3.27 本文讲述如何绘制条形图,折线图,柱形图,面积图等常见图形。 效果图: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#,NHibernate,ASP.NET2.0,Winform
举报原因:
原因补充:

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