2010-07-16 93 views
1

我有以下代碼:質樸的Sql生成,LINQ和ASP.NET MVC

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]) 

任何想法如何解決這個問題?鏈接到ASP.NET MVC2 Linq Where Clause using StartsWith

回答

-1

我不認爲SubSonic Linq提供程序非常「成熟」。

+0

我感謝您的評論,但它不是很有幫助。這不是亞音速的第一個問題,但我會同意你的意見。 – 2010-07-16 12:07:08

+0

沒有答案。您是否打算將此作爲對OP的評論? – allonym 2010-07-16 12:07:45