1

データベースのセットアップが間違っている可能性が高いと言われているので、以下にキー フィールドとクエリを含むテーブルを示します。

CREATE TABLE Presentations (
    Id INT NOT NULL IDENTITY(1, 1),
    SpeakerId INT NOT NULL,

    CONSTRAINT PK_Presentations PRIMARY KEY (Id),
    CONSTRAINT FK_Presentations_Speaker FOREIGN KEY (SpeakerId) REFERENCES Speakers (Id)
)

CREATE TABLE Speakers (
    Id INT NOT NULL IDENTITY(1, 1),

    CONSTRAINT PK_Speakers PRIMARY KEY (Id)
)

以下を実行すると:

presentations = presentations.OrderBy(x => x.Speaker.FirstName);

生成されたクエリは次のようになります。

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

これは緊急の問題です、誰か助けてくれませんか?

関連する質問:

助けてくれて本当にありがとう。

4

0 に答える 0