src/Shared/EntityFramework/Core/Common/EntitySql/SemanticResolver.cs
// <summary>
// Try resolving <paramref name="name" /> as a property of the value returned by the <paramref name="valueExpr" />.
// </summary>
Try resolving  as a property of the value returned by the .
Try resolving as a property of the value returned by the .
private bool TryResolveAsPropertyAccess(DbExpression valueExpr, string name, out DbExpression propertyExpr)
        {
            DebugCheck.NotNull(valueExpr);
            propertyExpr = null;
            if (Helper.IsStructuralType(valueExpr.ResultType.EdmType))
            {
                EdmMember member;
                if (TypeResolver.Perspective.TryGetMember(
                    (StructuralType)valueExpr.ResultType.EdmType, name, _parserOptions.NameComparisonCaseInsensitive ,
                    out member))
                {
                    Debug.Assert(member != null, "member != null");
                    Debug.Assert(NameComparer.Equals(name, member.Name), "this.NameComparer.Equals(name, member.Name)");
                    propertyExpr = DbExpressionBuilder.CreatePropertyExpressionFromMember(valueExpr, member);
                    return true;
                }
            }
            return false;
        }
private bool TryResolveAsPropertyAccess ( DbExpression valueExpr , string name , out DbExpression propertyExpr ) { DebugCheck . NotNull ( valueExpr ) ; propertyExpr = null ; if ( Helper . IsStructuralType ( valueExpr . ResultType . EdmType ) ) { EdmMember member ; if ( TypeResolver . Perspective . TryGetMember ( ( StructuralType ) valueExpr . ResultType . EdmType , name , _parserOptions . NameComparisonCaseInsensitive , out member ) ) { Debug . Assert ( member != null , " " ) ; Debug . Assert ( NameComparer . Equals ( name , member . Name ) , " " ) ; propertyExpr = DbExpressionBuilder . CreatePropertyExpressionFromMember ( valueExpr , member ) ; return true ; } } return false ; }
Try resolving  as a property of the value returned by the .
Try resolving as a property of the value returned by the .
/*ignoreCase*/
valueExpr
DbExpression
name
string
DbExpression
out