NHibernate3剖析:Mapping篇之集合映射基础(4):Map映射

本文详细介绍了NHibernate3中Dictionary映射的各个方面,包括Dictionary映射的结构、不同类型的映射案例,如DictionaryOfElements、DictionaryOfComponents、DictionaryOfOneToMany、DictionaryOfManyToMany和DictionaryKeyManyToMany,以及每个案例的数据库架构。文章旨在帮助读者理解并掌握NHibernate3中集合映射的基础知识和应用。
摘要由CSDN通过智能技术生成

系列引入

NHibernate3.0剖析系列分别从Configuration篇、Mapping篇、Query篇、Session策略篇、应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本。如果你还不熟悉NHibernate,可以快速阅读NHibernate之旅系列文章导航系列入门,如果你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧。

Dictionary映射

这节我们介绍Dictionary映射,一般而言,Domain中的System.Collections.Generic.IDictionary<TKey,TValue>集合类型使用Map来映射。

映射纲要

Map映射有三个部分:集合外键(Collection foreign keys)、索引字段(index column)、集合元素(Collection element)。

集合外键(Collection foreign keys),通过<key>映射,其column属性命名方式一般采用"集合持有者类名+Id"命名方式。

索引字段(index column),即字典的键:

  • 值类型,通过<map-key>或者<composite-map-key>映射。
  • 引用类型,通过<map-key-many-to-many>映射。

集合元素(Collection element),即字典的值:

  • 值类型,其声明周期完全依赖于集合持有者,通过<element>或<composite-element>映射。
  • 引用类型,被作为集合持有的状态考虑的,只有两个对象之间的“连接”,具有其自己的生命周期,通过<one-to-many>或<many-to-many>映射。

案例分析

案例一:DictionaryOfElements

Domain定义中,集合元素一般是单一元素(Elements)类型,即.Net基本类型(string、int、double等等)。

//Code Snippets Copyright http://lyj.cnblogs.com/
public class DictionaryOfElements
{
    public int Id { get; set; }
    public IDictionary<string, DateTime> Elements { get; set; }
}

映射简单写法:

//Code Snippets Copyright http://lyj.cnblogs.com/
<class 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值