title: Incorrect number of arguments supplied for call to method 'Boolean Equals
body: <p>Why do I get an argument exception saying I pass the wrong number of arguments to string.equals method?</p>
  
  <p>I pass THREE arguments and that should be correct. Actually it should throw a compile time error not runtime...</p>
  
  <p>Do you see the error?</p>
  
  <pre><code>var translations = await (from l in context.Languages
                    join t in context.Translations on l.ISO639_ISO3166 equals t.ISO639_ISO3166
                    where string.Equals(l.ApplicationName, applicationName, StringComparison.InvariantCultureIgnoreCase)
                    select new Translation
                    {
                        Key = t.Key,
                        Text = t.Text
                    }).ToListAsync();
  </code></pre>
  
  <p>UPDATE</p>
  
  <pre><code>Test Name:  GetTranslations
  Test FullName:  TaaS.IntegrationTests.Tests.TranslationRepositoryTests.GetTranslations
  Test Source:    C:\test\TaaS-WebApplication\TaaS.IntegrationTests\Tests\TranslationRepositoryTests.cs : line 17
  Test Outcome:   Failed
  Test Duration:  0:00:00,0473367
  
  Result StackTrace:  
  at System.Linq.Expressions.Expression.GetMethodBasedBinaryOperator(ExpressionType binaryType, Expression left, Expression right, MethodInfo method, Boolean liftToNull)
     at System.Linq.Expressions.Expression.Equal(Expression left, Expression right, Boolean liftToNull, MethodInfo method)
     at System.Data.Entity.Core.Objects.ELinq.LinqExpressionNormalizer.VisitMethodCall(MethodCallExpression m)
     at System.Linq.Expressions.EntityExpressionVisitor.Visit(Expression exp)
     at System.Linq.Expressions.EntityExpressionVisitor.VisitLambda(LambdaExpression lambda)
     at System.Linq.Expressions.EntityExpressionVisitor.Visit(Expression exp)
     at System.Linq.Expressions.EntityExpressionVisitor.VisitUnary(UnaryExpression u)
     at System.Linq.Expressions.EntityExpressionVisitor.Visit(Expression exp)
     at System.Linq.Expressions.EntityExpressionVisitor.VisitExpressionList(ReadOnlyCollection`1 original)
     at System.Linq.Expressions.EntityExpressionVisitor.VisitMethodCall(MethodCallExpression m)
     at System.Data.Entity.Core.Objects.ELinq.LinqExpressionNormalizer.VisitMethodCall(MethodCallExpression m)
     at System.Linq.Expressions.EntityExpressionVisitor.Visit(Expression exp)
     at System.Linq.Expressions.EntityExpressionVisitor.VisitExpressionList(ReadOnlyCollection`1 original)
     at System.Linq.Expressions.EntityExpressionVisitor.VisitMethodCall(MethodCallExpression m)
     at System.Data.Entity.Core.Objects.ELinq.LinqExpressionNormalizer.VisitMethodCall(MethodCallExpression m)
     at System.Linq.Expressions.EntityExpressionVisitor.Visit(Expression exp)
     at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter..ctor(Funcletizer funcletizer, Expression expression)
     at System.Data.Entity.Core.Objects.ELinq.ELinqQueryState.CreateExpressionConverter()
     at System.Data.Entity.Core.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption)
     at System.Data.Entity.Core.Objects.ObjectQuery`1.&lt;&gt;c__DisplayClassc.&lt;GetResultsAsync&gt;b__a()
     at System.Data.Entity.Core.Objects.ObjectContext.&lt;ExecuteInTransactionAsync&gt;d__3d`1.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.&lt;ExecuteAsyncImplementation&gt;d__9`1.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Data.Entity.Utilities.TaskExtensions.CultureAwaiter`1.GetResult()
     at System.Data.Entity.Core.Objects.ObjectQuery`1.&lt;GetResultsAsync&gt;d__e.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Data.Entity.Utilities.TaskExtensions.CultureAwaiter`1.GetResult()
     at System.Data.Entity.Internal.LazyAsyncEnumerator`1.&lt;FirstMoveNextAsync&gt;d__0.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Data.Entity.Infrastructure.IDbAsyncEnumerableExtensions.&lt;ForEachAsync&gt;d__5`1.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
     at TaaS.Repository.TranslationRepository.&lt;GetTranslationsAsync&gt;d__2.MoveNext() in C:\_REPOSITORIES\taas-application\TaaS-WebApplication\TaaS.Repository\TranslationRepository.cs:line 20
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
     at TaaS.IntegrationTests.Tests.TranslationRepositoryTests.GetTranslations() in C:\_REPOSITORIES\taas-application\TaaS-WebApplication\TaaS.IntegrationTests\Tests\TranslationRepositoryTests.cs:line 45
  Result Message: 
  Test method TaaS.IntegrationTests.Tests.TranslationRepositoryTests.GetTranslations threw exception: 
  System.ArgumentException: Incorrect number of arguments supplied for call to method 'Boolean Equals(System.String, System.String, System.StringComparison)'
  </code></pre>