1

私はこのSPを持っています、

ALTER PROCEDURE [dbo].[GetPageByID]
(
    @ID INT
)
AS

    SELECT  P.*
            ,A.*
    FROM    Page P
            LEFT OUTER JOIN [dbo].[Application] A ON P.ApplicationVersion = A.[Version]
    WHERE   P.ID = @ID;

そして私はこのコードを使用してオブジェクトにロードしています、

        return context.Database.SqlQuery<Page>(@"EXEC GetPageByID {0}", new object[] { id }).FirstOrDefault();

これは、Pageのプロパティのみをロードし、Page.Applicationプロパティはロードしません。EFにこれを行うように指示する方法。

4

1 に答える 1

2

いいえSqlQuery。ロードできるのは、要求しているメインエンティティのみです。この場合はPage。子もロードしたい場合は使用できませんSqlQuery。EDMXを備えたEF5は、複数の結果セットを持つストアドプロシージャのマッピングを提供します(つまり、ページ用とアプリケーション用の2つのクエリを持つストアドプロシージャが必要になります)。最初のコードではまだサポートされていません。

于 2013-02-10T18:54:05.743 に答える