NHibernate中对于多字段主键的Maping

原创 2007年10月10日 17:42:00

NHibernate中对于多字段主键的Maping:

以下代码通过测试的

SumupCarte.hbm.xml:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
  
<class name="Cash.Domain.SumupCarte, Cash.Domain" table="sumup_carte">
        
<composite-id >
          
<key-property name="Sid">
            
<column name="sid"  sql-type="decimal" length="18" not-null="true"/>
          
</key-property>
          
<key-property name="Cid">
            
<column name="cid" sql-type="decimal" length="18" not-null="true" />
          
</key-property>
          
<key-property name="IsCountermand">
            
<column name="IsCountermand" sql-type="tinyint"  length="1" not-null="true" />
          
</key-property>
        
</composite-id>
  
</class>
</hibernate-mapping> 

 

SumupCarte.cs:

using System;
using System.Collections.Generic;
using System.Text;

namespace Cash.Domain
...{
    [Serializable]
    
public class SumupCarte: Entity
    
...{
        
Private Fields#region Private Fields
        
private System.Decimal _sid;
        
private System.Decimal _cid;
        
private System.Byte _isCountermand;
        
#endregion

        
        
Property Members#region Property Members
        
public virtual System.Decimal Sid
        
...{
            
get...return this._sid; }
            
set...this._sid = value; }
        }

        
public virtual System.Decimal Cid
        
...{
            
get...return this._cid; }
            
set...this._cid = value; }
        }

        
public virtual System.Byte IsCountermand
        
...{
            
get...return this._isCountermand; }
            
set...this._isCountermand = value; }
        }

        
#endregion

        
public override bool Equals(object obj)
        
...{
            
if (base.Equals(obj)) return true;
            
if (obj == nullreturn false;
            SumupCarte eb 
= (SumupCarte)obj;
            
return eb.Sid.Equals(this.Sid);
        }

        
public override int GetHashCode()
        
...{
            
return Sid.GetHashCode();
        }

    }

}

NHibernate 映射文件中主键的不同配置方法

1、普通主键: 2、主键自增: 3、其他:见 http://wenku.baidu.com/view/cea7083043323968011c9256.html...
  • u010678947
  • u010678947
  • 2013年11月11日 13:56
  • 1086

【架构之路之ORM】--FluentNHibernate之基本映射详解

在没有FluentNHibernate的情况下,如果使用NHibernate来做数据库映射,那么首先需要安装NHibernate(也就是应用Nhibernate.dll),然后创建Nhibernate...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2014年12月25日 08:21
  • 8697

使用VS2015和Nhibernate实现与MySql数据库连接,实现增删改查操作

使用VS2015和Nhibernate简单C#代码实现与MySql数据库连接,实现增删改查操作,不涉及Web。...
  • penchaoo
  • penchaoo
  • 2016年05月08日 16:16
  • 3992

sql server 单主键高效分页存储过程 (支持多字段排序)

Create PROC P_viewPage /* 适用于单一主键或存在唯一值列的表或视图 ps:Sql语句为8000...
  • wang19850219
  • wang19850219
  • 2014年11月14日 09:10
  • 482

SQL语句查询数据表主键和所有字段

  • 2009年12月23日 18:13
  • 498B
  • 下载

NHibernate 映射基础(第三篇) 简单映射、联合主键

NHibernate完全靠配置文件获取其所需的一切信息,其中映射文件,是其获取数据库与C#程序关系的所有信息来源。 一、简单映射   下面先来一个简单的例子,然后随着不断地对这个例子修修改...
  • mss359681091
  • mss359681091
  • 2016年09月21日 17:12
  • 316

NHibernate Issues之1255:联合主键(composite-id)

这个系列是以博客形式整理关于NHibernate的Issues。记录一些零碎的小例子,通过零零碎碎的整理,可以巩固自己的知识和扩展我们的知识面。这些小例子也可以适当的在项目中呈现。 这次看看联合...
  • educast
  • educast
  • 2012年05月28日 14:17
  • 929

c# winform工具 用Google在线大量翻译SQL数据库中的数据,多字段一起翻译

  • 2015年03月31日 11:57
  • 111KB
  • 下载

Server2005高效分页存储过程(支持多字段排序,支持Group By)

  • 2011年03月05日 10:38
  • 3KB
  • 下载

java 大文件 多字段排序

  • 2014年12月29日 07:42
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NHibernate中对于多字段主键的Maping
举报原因:
原因补充:

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