internal DbExpression AsCqt(DbExpression row, IEnumerable <Constant> constants, MemberPath outputMember, bool skipIsNotNull) { DbExpression cqt = null; AsCql( // trueLiteral action () => cqt = DbExpressionBuilder.True, // varIsNotNull action () => cqt = outputMember.AsCqt(row).IsNull().Not(), // varNotEqualsTo action (constant) => { DbExpression notEqualsExpr = outputMember.AsCqt(row).NotEqual(constant.AsCqt(row, outputMember)); if (cqt != null) { cqt = cqt.And(notEqualsExpr); } else { cqt = notEqualsExpr; } }, constants, outputMember, skipIsNotNull); return(cqt); }
internal override DbExpression AsCqt(DbExpression row, MemberPath outputMember) { DbExpression cqt = m_memberPath.AsCqt(row); TypeUsage outputMemberTypeUsage; if (NeedToCastCqlValue(outputMember, out outputMemberTypeUsage)) { cqt = cqt.CastTo(outputMemberTypeUsage); } return(cqt); }