Why do I get a different runtime when using DataContext.ExecuteQuery with implicit versus explicit parameters?
===

I have a table containing test assembly statistics of TFS builds as follows:


    AssemblyName   Duration      TestResults    MsPerResult	Branch
    Ass1.dll            100                2             50     $/branch1
    Ass2.dll            200                2            100     $/branch1/sub1
    Ass3.dll            400                2            200     $/branch1/sub1/subsub1
    ...

    
Additionally I have a summary class for holding a DataContext.ExecuteQuery<> result

    public class AssemblyStatistics
    {
        public string AssemblyName { get; set; }
        public int TestResultCount { get; set; }
        public long ValueInMs { get; set; }
    }

If I execute the following code, my query always takes the same time, even if I limit the results querying a subbranch only:

    context.ExecuteQuery<AssemblyStatistics>(
      "SELECT TOP 10 AssemblyName, SUM(Duration) AS ValueInMs, SUM(TestResults) AS TestResultCount FROM AssembliesByDuration WHERE Branch LIKE {0} GROUP BY AssemblyName ORDER BY SUM(Duration) DESC", "$/branch1/sub1%").ToList();

however using the following (not websafe) format, the runtime goes down as expected

    context.ExecuteQuery<AssemblyStatistics>(
      @"SELECT TOP 10 AssemblyName, SUM(Duration) AS ValueInMs, SUM(TestResults) AS TestResultCount FROM AssembliesByDuration WHERE Branch LIKE '"
                      + "$/branch1/sub1%" + "' GROUP BY AssemblyName ORDER BY SUM(Duration) DESC").ToList();    

Am I missing something or is this just an issue with Linq2SQL evaluating the LIKE afterwards?