【问题标题】:Lazy loading a portion of a record with NHibernate使用 NHibernate 延迟加载记录的一部分
【发布时间】:2016-08-09 01:59:10
【问题描述】:

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

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

我有一个看起来像这样的架构(固定,在旧系统中):

MyTable
   ID int
   Name char(50)
   image byte

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

我可以将我的对象模型构造为有两个不同的类(因此有两个不同的映射定义)来处理这种关系,但是我怎样才能“愚弄”nhibernate 使用同一个表来显示这种一对一的关系呢?

【问题讨论】:

    标签: nhibernate


    【解决方案1】:

    简短的回答:你不能。

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

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

    【讨论】:

    • 我不确定我是否理解数据传输对象的想法。我会尝试将hibernatingrhinos帖子中的想法应用到同一张桌子上。
    猜你喜欢
    • 2011-07-16
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2013-12-10
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多