对于字节数组类型的属性映射,可以用Byte[]指定其Type,但是这中类型只能保存8000个字节(虽然你可以指定超过8000的Length属性,而且生成的表字段类型也为Image)。 如果要保存任意长的字节数据,需要用到BinaryBlob类型。

举个例子,如果Employee类有一Photo属性为字节数组:

public class Employee
 {
//其他略去
  public byte[] Photo
  {
   get
   {
    return _photo;
   }
   set
   {
    _photo = value;
   }
  }
}

在影射文件中可以用 BinaryBlob 类型:

<class name="Employee" table="[Employee]"> 
        <id name="ID" column="EmployeeID" unsaved-value="0"> 
            <generator class="native" /> 
</id>
<!--其他略去--> 
    <property name="Photo" column="[Photo]" not-null="false"  type="BinaryBlob"/>    </class> 

另外,其他大对象的映射可参考下表:

NHibernate Type .NET Type Database Type Remarks
StringClob System.String DbType.String type="StringClob" must be specified. Entire field is read into memory.
BinaryBlob System.Byte[] DbType.Binary type="BinaryBlob" must be specified. Entire field is read into memory.
Serializable Any System.Object that is marked with SerializableAttribute. DbType.Binary type="Serializable" should be specified. This is the fallback type if no NHibernate Type can be found for the Property.

字节数组可以持久化之后,自然会担心内存占用问题。那么能不能对属性也做Lazy Initialization的实现呢?这可能是NHibernate要面对的新需求。

转载于:https://www.cnblogs.com/mahope/archive/2005/12/09/293408.html

NHibernate Mapping文件中如何指定类的字节数组属性相关推荐

  1. Winform中实现序列化指定类型的对象到指定的Xml文件和从指定的Xml文件中反序列化指定类型的对象

    场景 在Winform程序中需要将某些页面的设置存储到配置文件中,下次再次打开时通过配置文件读取,点击确定时能将将设置保存到配置文件中. 之前介绍过 Winform中自定义xml配置文件后对节点进行读 ...

  2. 使用itext7在PDF文件中的指定文字位置添加电子签名图片技术记录

    使用itext7在PDF文件中的指定文字位置添加电子签名图片 文章目录 使用itext7在PDF文件中的指定文字位置添加电子签名图片 一.技术使用背景 二.使用步骤 1.引入依赖 2.具体代码 2.控 ...

  3. 在文件中查找指定字符串

    1. 在指定文件中查看指定字符串的行数 cat file_name | grep -n "String" 2. 在多个文件中查找指定字符串 在多个指定文件中查找指定字符串,命令如下 ...

  4. 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。...

    编译ASP.NET时,提示"请确保此代码文件中定义的类与"inherits"属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的.", ...

  5. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  6. Xcode 6 Bug:Interface Builder文件中的未知类

    本文翻译自:Xcode 6 Bug: Unknown class in Interface Builder file I upgraded to Xcode 6 beta 4 and now my A ...

  7. python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...

    Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 :This is line 1. Thi ...

  8. 帝国cms php sql,帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 例1:连接MYSQL数据库例子.(a.php) db_close(); //关闭MYSQL链接$empire=null; //注消操作类变量? ...

  9. 帝国cms与mysql数据库_帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    例1:连接MYSQL数据库例子.(a.php) require('e/class/connect.php'); //引入数据库配置文件和公共函数文件 require('e/class/db_sql.p ...

  10. python 文件指定位置写入-Python从文件中读取指定的行以及在文件指定位置写入...

    Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 :This is line 1. Thi ...

最新文章

  1. 利用c语言找出输入文本最长的一行
  2. Java线程详解(6)-线程的交互
  3. docker 安装redis第三方集群方案 codis
  4. 漫扯:从polling到Websocket(ZZ)
  5. Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)
  6. python调用菜单响应事件_[Python] wxpython 编程触发菜单或按钮事件
  7. Python3中的bytes和str类型
  8. 如果安装License失败的解决方案
  9. JS的jsonp是什么?5分钟学会jsonp跨域请求
  10. Nginx 配置参数
  11. 联合主键使用in和not in
  12. 24.Linux/Unix 系统编程手册(上) -- 进程的创建
  13. Linux系统下CMake的安装和使用
  14. hdu Collect More Jewels
  15. Android手机功能篇 调用前置摄像头的方法
  16. web网关_配置手册
  17. 前端小白仿写小米官网首页(静态页面+jquery轮播图)
  18. 2022-2028年中国高尔夫行业市场现状分析及投资前景评估报告
  19. 如何提升会议体验感和氛围感?
  20. Fast and Provably Good Seedings for k-Means阅读笔记

热门文章

  1. fisher criterion
  2. Exchange Server 2013文档系列之四: Exchange Server 2013在Windows 2008 R2下部署
  3. 转帖:算法好学吗?——《大话数据结构》读者书评
  4. {Java}一个有关类属性初始化的有趣儿情况
  5. php打印日期,php打印日期
  6. 【android自定义控件】LinearLayout定义ActionBar样式
  7. ARC098E Range Minimum Queries
  8. java serviceimple,java apiimpl怎么调用 service接口
  9. excel保存快捷键_这应该算是Windows电脑中最强的几组快捷键!
  10. kafka消费者如何读同一生产者消息_kafka学习笔记