What is the difference between JoinQueryOver and JoinAlias?

后端 未结 2 1130
谎友^
谎友^ 2020-12-02 11:03

I need to know what is the difference between JoinQueryOver and JoinAlias, and when to use each?

2条回答
  •  醉梦人生
    2020-12-02 11:42

    QueryOver Series - Part 2: Basics and Joining by Andrew Whitaker gives a very good explanation:

    Summary:

    • IQueryOver is a generic type with two type parameters TRoot and TSubType
    • .Select operates on TRoot while other QueryOver methods operate on TSubType.
    • TRoot stays the same as you’re building a query, but TSubType changes when you join using JoinQueryOver
    • JoinQueryOver and JoinAlias add joins to your query. JoinAlias doesn’t change TSubType, but JoinQueryOver does.
    • You can use aliases when building a query to refer to properties that don’t belong to TRoot or TSubType

提交回复
热议问题