我有这个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这样做的任何方式。
答案 0 :(得分:2)
没有。 SqlQuery
只能加载您要求的主要实体 - 在您的情况下为Page
。如果您还想加载儿童,则无法使用SqlQuery
。带有EDMX的EF5为stored procedures with multiple result sets提供映射(这意味着您将需要具有两个查询的存储过程 - 一个用于页面,第二个用于应用程序)。首先不支持代码。