相关疑难解决方法(0)

NHibernate QueryOver加入不相关的实体

我有以下查询工作,它获得我想要的结果:

int associatedId = 123;

MyObject alias = null;

var subQuery = QueryOver.Of<DatabaseView>()
    .Where(view => view.AssociatedId == associatedId)
    .And(view => view.ObjectId == alias.ObjectId)
    .Select(view => view.ObjectId);

var results = session.QueryOver<MyObject>(() => alias)
    .WithSubquery.WhereExists(subQuery)
    .List();
Run Code Online (Sandbox Code Playgroud)

DatabaseView已被映射为实际的NHibernate实体(因此我可以将它与QueryOver一起使用),但它与HBM映射中的MyObject无关.

此查询使用SELECT ... FROM MyObject WHERE EXISTS(此处为DatabaseView的子查询)返回IList.如何重新编写此信息以返回相同的信息,而不是使用JOIN?

nhibernate queryover

9
推荐指数
2
解决办法
8222
查看次数

标签 统计

nhibernate ×1

queryover ×1