使用NHibernate延迟加载记录的一部分

时间:2009-04-29 12:58:09

标签: nhibernate

我不知道如何解释这一点。所以这里......

我正在尝试使用here描述的延迟加载blob的方法,但我只使用了一个表。

我有一个架构(已修复,在遗留系统中),如下所示:

MyTable
   ID int
   Name char(50)
   image byte

这是在Informix上,字节列是一个简单的大对象。现在通常我会用"SELECT ID, Name, (image is not null) as imageexists..."查询表并稍后处理blob加载。

我可以构建我的对象模型以具有两个不同的类(因此有两个不同的映射定义)来处理关系,但是我如何“欺骗”nhibernate使用相同的表来显示这种一对一的关系?

1 个答案:

答案 0 :(得分:2)

简短回答:你不能。

您需要将其映射两次或(我的偏好)创建包含所需字段的DTO。在HQL中,您可以执行以下操作:

select new MyTableDTO(t.ID, t.name) from MyTable t