在存储过程上使用LINQ到SQL的一对多和一对一关系

在存储过程上使用LINQ到SQL的一对多和一对一关系,linq,linq-to-sql,linq-to-entities,Linq,Linq To Sql,Linq To Entities,假设我有三个表Customer(ID,Name),CustomerAddress(ID,Address1,Address2),Phone(ID,PhoneNumber)。因此,在这种情况下,每个客户都有多个地址(一个多关系),每个地址都有一个电话(一个一关系)。我有一个存储过程,它按以下顺序返回所有数据 ID Name Address PhoneNumber 1001 John MD 1234 1001 John VA 1231 1001 Jo

假设我有三个表Customer(ID,Name),CustomerAddress(ID,Address1,Address2),Phone(ID,PhoneNumber)。因此,在这种情况下,每个客户都有多个地址(一个多关系),每个地址都有一个电话(一个一关系)。我有一个存储过程,它按以下顺序返回所有数据

ID    Name   Address  PhoneNumber 
1001  John   MD       1234
1001  John   VA       1231
1001  John   WA       1232
1002  Mary   NJ       0231
1002  Mary   NY       0232
1002  Mary   OR       0032
现在,在获得上述数据之后,我坐在一个for-each循环中,填充我的数据对象。但是,我希望使用LINQ-SQL动态填充这些数据对象。我看了这篇文章,它做了完全相同的事情。 唯一的区别是我正在运行存储过程来获取数据。 那么,有人知道如何使用存储过程填充这些实体类吗?
任何输入都会非常有用。

为什么要使用存储过程?因为,要求是这样的。我们需要使用现有的存储过程。除此之外,上表只是一个场景。我需要从多个表中获取数据。因此,我现有的存储过程已经在这样做了(使用大量连接)。因此,使用工作/测试的存储过程对我来说很好。有什么意见吗?