다음은 간단한 예제의 문제점입니다.엔티티에 LINQ에서 사용할 수없는 엔티티의 속성
나는 두 기관은 SQL Server 데이터베이스에서 모델링 한 :
- 주문 (열을 사용할 수 = OrderID를, PackageCount, ManufactureDate, ShipDate, StatusID) 기본 키 = OrderID를) RecipientID = 사용할 수
- OrderRecipients (열, 주소, 도시, 우편 번호, 국가, 주문 ID, 외래 키 = 주문 ID)
Order와 OrderRecipients 사이에 [1 대 다수] 관계가 있습니다. 하나의 주문에는 여러 명의 수신자가있을 수 있습니다.
다음 코드를 통해 주문받는 사람을 추출하려고합니다.
var allmyrecipients = from o in mycontext.Orders
where (o.SiteID.Equals("NYC") || o.SiteID.Equals("SFO"))
select o.OrderRecipients;
그러나 나는 다음과 같은 코드를 사용하여받는 사람의 이름을 가져하려고하면
foreach (var recipient in allmyrecipients)
{
Console.WriteLine(recipient.FirstName);
}
firstName을 수신자의 다른 속성은 인텔리 드롭 다운에서 사용할 수 없습니다. 나는 "FirstName의 정의를 포함하고 있지 않다"라는 오류가 발생합니다.
왜 이것이 무엇이며 어떻게 해결됩니까? 여기서 내가 뭘 잘못하고 있니? VS 2010, Entity Framework 4로 작업하고 있습니다.
도움을 주셔서 감사합니다.
갱신 1 :이에게 주사를'foreach는 (allmyrecipients에 var에받는 사람) {foreach는 (받는 사람의 var에 r)을 {Console.WriteLine (R .이름); }}'왜 이래? – FMFF