如何格式化存储过程以映射EF对象和自定义数据



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

的对象
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类属性相同名称的列。

最新更新