title: Filter query for Graph B2C for mixed case IssuerAssignedId
body: <p>In our Azure B2C we let users to sign up using mixed-case emails as their logins (IssuerAssignedId). Now we have a lot of users (not all but many) with IssuerAssignedId like <em>Name.Surname@domain.com</em>.</p>
  <p>In our API we have endpoints that perform business validation of the user by given email, and API clients provide these emails in all lowercase. So Graph API call fails to find user when email is given like <em>name.surname@domain.com</em> if actually registered B2C IssuerAssignedId is <em>Name.Surname@domain.com</em>.</p>
  <p>We use standard filter syntax:</p>
  <pre><code>await _graphServiceClient.Users
    .Request()
    .Filter($&quot;identities/any(c: c/issuerAssignedId eq '{email}' and c/issuer eq '{issuer}')&quot;)
    .Select(e =&gt; new { e.DisplayName, e.Id, e.Identities})
    .GetAsync();
  </code></pre>
  <p>The problem is that filter query does not allow to use <em>tolower()</em> odata function like</p>
  <pre><code>$&quot;identities/any(c: tolower(c/issuerAssignedId) eq '{email}' and c/issuer eq '{issuer}')&quot;
  </code></pre>
  <p>so I'm unable to normalize the email from lambda argument. As I understand, odata for Graph B2C has some limitations comparing to standard.</p>
  <p>What can be the approach to resolve such issue?</p>