如何将存储过程绑定到包含
的对象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
虽然它不工作,可能我需要改变存储过程,但我不知道如何。请帮助。
更新:让我试着更详细地解释一下:我希望存储过程将绑定到具有复杂类型和实体类型的行上,因此结果将是:字符串,字符串,域对象。
EF不支持绑定嵌套实体。它只绑定单个实体级别。此外,如果您使用Info
作为映射的复杂对象,它不能包含对实体的引用-这也是不支持的,因为复杂对象可以用作实体的成员,但反之亦然。
您需要扁平化您的Info
(使其包含Teacher
的所有成员)和您的存储过程必须返回与您的Info
类属性相同名称的列。