开发者

Funky Sql Generated using SubSonic Simple Repository, LINQ and ASP.NET MVC

开发者 https://www.devze.com 2023-01-07 20:00 出处:网络
I have the following code: if (collection[\"Filter\"] == \"2\") { presentations = presentations.Where(x => x.Speaker.FirstName.StartsWith(\"B\")).

I have the following code:

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

this generates the following sql:

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

The problem is the join should be:

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

Any ideas how to correct this problem? Linked to ASP.NET MVC2 Linq Where Clause using StartsWith


I don't think the SubSonic Linq provider is very 'mature'.

0

精彩评论

暂无评论...
验证码 换一张
取 消