小编Fou*_*rth的帖子

具有Join和Distinct的QueryOver

我使用以下QueryOver:

var query = searchTermRepository.GetAllOver()
     .Where(Restrictions.On<Entities.SearchTerm>(c => c.Text).IsLike(filter.Value, MatchMode.Start))
     .Select(Projections.Distinct(Projections.Property<Entities.SearchTerm>(x => x.Contact)))
     .Inner.JoinQueryOver(x => x.Contact).Take(100);
Run Code Online (Sandbox Code Playgroud)

这会创建:

SELECT distinct TOP ( 100 /* @p0 */ ) this_.ContactId as y0_
FROM   SearchTerm this_
       inner join Contact contact1_
         on this_.ContactId = contact1_.Id
       left outer join Company contact1_1_
         on contact1_.Id = contact1_1_.Id
       left outer join Person contact1_2_
         on contact1_.Id = contact1_2_.Id
       left outer join Branch contact1_3_
         on contact1_.Id = contact1_3_.Id
       left outer join ContactGroup contact1_4_
         on contact1_.Id = contact1_4_.Id
WHERE  this_.Text like 'koc%%' /* …
Run Code Online (Sandbox Code Playgroud)

nhibernate join distinct queryover

7
推荐指数
1
解决办法
6727
查看次数

if(!! condition)和if(condition)之间有什么区别

我经常看到使用的代码!!condition而不仅仅是常规条件.即:

if(!!value){
    doSomething();
}
Run Code Online (Sandbox Code Playgroud)

与:

if(value){
    doSomething();
}
Run Code Online (Sandbox Code Playgroud)

如果存在功能上的差异是什么?一个优于另一个?如果有的话,选择使用一个与另一个的条件是什么?

javascript

1
推荐指数
2
解决办法
425
查看次数

标签 统计

distinct ×1

javascript ×1

join ×1

nhibernate ×1

queryover ×1