1

次のコードがあります。

if (collection["Filter"] == "2") { 
   presentations = presentations.Where(x => x.Speaker.FirstName.StartsWith("B")).
   OrderBy(x => x.Speaker.FirstName);
}

これにより、次の sql が生成されます。

SELECT  [t0].[Description], [t0].[EventId], [t0].[Id], [t0].[PresentedOn], 
        [t0].[Slug], [t0].[SpeakerId], [t0].[Title], [t0].[Url]
FROM    [Presentations] AS t0
LEFT    OUTER JOIN [Speakers] AS t1 ON ([t1].[Id] = [t0].[Id])
WHERE   ([t1].[FirstName] LIKE 'B' + '%')
ORDER   BY [t1].[FirstName]

問題は、結合が次のようになることです。

LEFT OUTER JOIN [Speakers] AS t1 ON ([t1].[Id] = [t0].[SpeakerId])

この問題を修正する方法はありますか? StartsWith を使用して ASP.NET MVC2 Linq Where 句にリンク

4

1 に答える 1

-1

SubSonic Linq プロバイダーが「成熟」しているとは思えません。

于 2010-07-16T12:03:50.737 に答える