2

如何将存储过程绑定到包含的对象

public class Info
{
   public string PupilFirstName // (just a string),
   public string PupilLastName // (just a string)
   public Teacher Teacher // (EF object)
}

所以我的存储过程是:

select Teacher.*, Pupil.FirstName PupilFirstName, Pupil.LastName PupilLastName 
from Pupil
join Teacher on Teacher.Id = Pupil.TeacherId

虽然它不起作用,但可能我需要更改存储过程,但我不知道如何。请帮忙。


更新:让我尝试更详细地解释一下:我希望存储过程将绑定在具有复杂类型和实体类型的行上,因此结果将是:字符串、字符串、域对象。

4

1 回答 1

2

EF 不支持绑定嵌套实体。它仅绑定单个实体级别。此外,如果您将Info其用作映射的复杂对象,则它不能包含对实体的引用 - 这也是不支持的,因为复杂对象可以用作实体的成员,反之亦然。

您需要展平您的Info(使其包含 的所有成员),并且您的存储过程必须返回与您的类Teacher中的属性同名的列。Info

于 2013-04-02T18:27:17.473 回答