2012-02-01 4 views
0

두 개의 엔티티 CUSTOMER 및 ORDER가 있습니다. 고객과 주문 간의 관계가 1 대 1입니다. 여기서 CustomerID는 고객 및 외래 키의 기본 키입니다. 주문하고 싶습니다. ORDER 엔터티의 CUSTOMER 엔터티에서 고객 이름 속성을 추가하려면 ...이 속성을 복사하여 ORDER 테이블에 붙여 넣은 다음 CUSTOMER 테이블을 추가하고이 속성을 CUSTOMER 테이블의 동일한 속성에 매핑합니다. 그러나 vs의 유효성을 검사하려고 할 때 매핑 조각에 문제가 라인 239에서 시작 : 나에게엔티티 프레임 워크 일대 다 관계에 대한 개념 모델의 연관성

3024 인 오류를주는 것은 EntitySet의 ORDER의 모든 주요 특성 (ORDER.OrderID)에 대한 매핑을 지정해야합니다

답변

0

매핑 할 수 없습니다. 이 방법으로 테이블에서 Order 엔티티에 속성을 추가 할 수 없습니다. 여러 테이블의 속성을 동일한 엔터티에 매핑하는 것은 매우 엄격한 규칙을 따르므로이 경우에는 불가능합니다.

고객 이름을 매핑에 정의하지 않고 Order 클래스에 표시 할 수 있습니다. Order 클래스의 부분 부분을 작성하고 사용자 정의 계산 된 속성을 추가 (비 매핑) :

public partial class Order 
{ 
    public string CustomerName 
    { 
     get 
     { 
      // Customer is navigation property to Customer entity 
      return Customer.Name; 
     } 
    } 
} 

이것은 당신의 Order (열망로드)와로드 Customer 또는 지연로드를 사용하여 필요합니다. 또한이 속성은 Linq - 엔터티 쿼리에서 사용할 수 없습니다.

+0

답장을 보내 주셔서 감사합니다 ... 저는 코드 우선 접근법에 대해 말하고 있다고 생각합니다.하지만 데이터베이스 접근법을 처음 시도하고 디자이너 모드에서 시도하고 있습니다. 이 처음에는 데이터베이스에 코드를 넣을 것입니다. – Anup

+0

아니요. 데이터베이스의 첫 번째 접근 방식에 대해서도 설명하고 있습니다. Designer는 클래스에 필요한 모든 속성을 정의하지 않습니다. Designer는 오직 매핑을 정의하기위한 것이며 매핑은'Order' 엔티티에서 'Orders' 테이블에 매핑되지 않은 속성을 정의함으로써 위반 한 엄격한 규칙을가집니다. –

관련 문제