nhibernate - 使用 NHibernate 处理多个表的 JoinQueryOver

标签 nhibernate lambda entities

我无法在 NHibernate JoinQueryOver 中构建 lambda 表达式来解决下面的 SQL 命令:

SELECT 
    A.STATUS,
    B.NUMBER,
    B.OTHER_NUMBER,
    A.Date01,
    A.Date02
FROM 
    B, 
    C, 
    A
WHERE
        A.ID = C.ID
    AND     B.ID = C.ID

上述 SQL 命令中的所有表都位于同名实体(A、B、C)中,内连接位于 WHERE 子句中。

如何构建 NHibernate lambda 查询?

谢谢

罗斯福

最佳答案

A a = null;
B b = null;
var result = session.QueryOver<C>()
    .JoinAlias(c => c.A, () => a)
    .JoinAlias(c => c.B, () => b)
    .Select(c => a.Status, c => b.Number, c => b.Other_Number, c => a.Date01, c => a.Date02 )
    .List<object[]>();

关于nhibernate - 使用 NHibernate 处理多个表的 JoinQueryOver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6844127/

相关文章:

c# - 如何查询 NHibernate 中的多对多关联?

nhibernate - 审计日志策略

java - 为 Runnable 包装 Lambda 表达式以处理异常

linq - 使用 LINQ 进行任意排序

nhibernate - Nhibernate session.BeginTransaction 是否在使用中发生异常时自动回滚

asp.net-mvc - 在 asp.net mvc 应用程序中处理 StaleObjectStateException 的位置?

loops - 将循环内的复杂条件逻辑转换为流和 lambda

c# - 使用 Linq 求和嵌套值

apache-flex - 关于实体之间灵活游戏通信的建议

java - 在 Java 中更新 ManyToMany jointable