【问题标题】:C# + Nhibernate Eager Loading Join of unrelated Repositories?C# + Nhibernate Eager Loading Join 不相关的存储库?
【发布时间】:2015-04-22 14:43:14
【问题描述】:

一直在寻找一种方法来对来自不同 SQL 数据库但在同一物理服务器中的实体进行预加载连接。

对于相关实体(或表),使用 Fetchmany 将 Eager Load 父实体和相关实体

            var list = DummyRepository.Queryable()
                      .FetchMany(nav => nav.RelatedEntity1)
                      .ToList();

现在,对于不相关的实体,正在做一个 (Lambda/LINQ) 。加入这两个不相关实体的唯一方法是什么?

【问题讨论】:

  • 你的意思是不相关的实体吗?
  • 啊,是的,不相关的实体,不管是否在同一个数据库中
  • 检查您的映射中是否使用了 fetch join。
  • 我重读了我原来的帖子,我已经说过不相关的实体。无论如何,谢谢你,我检查一下我的映射:)

标签: nhibernate orm inner-join repository-pattern


【解决方案1】:

我认为在未映射的类中使用 QueryQueryOver API 是不可能的。

我建议使用session.CreateSQLQuerysession.GetNamedQuerySQL 中调用或创建您的查询,然后使用AliasToBeanTransformer 加载的DTO,例如here

或使用query.AddEntity 将结果加载到您的域实体中,例如here

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2011-03-14
    • 2018-11-16
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    相关资源
    最近更新 更多