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

No.SqlQuery只能加载您要求的主要实体 - 在您的情况下是Page. 如果你也想加载孩子,你不能使用SqlQuery. 带有 EDMX 的 EF5 为具有多个结果集的存储过程提供映射(这意味着您将需要具有两个查询的存储过程 - 一个用于页面,第二个用于应用程序)。尚不支持代码优先。

于 2013-02-10T18:54:05.743 回答