2011-03-11 6 views
0

안녕
저는 비즈니스 계층으로 엔티티 프레임 워크 4를 사용하고 있습니다.
I했습니다 일대일 관계에서 두 테이블 : < ---> 종업원
직원 테이블이 나는 사용자 레코드를 추가 할 때 그래서 직원에 하나를 추가 할 수 있고, 사용자 테이블과 동일한 기본 키가
사용자 같은 PK 값 ... 예외를 던집니다.일대일 관계에서 기본 키 값을 변경하려면 어떻게해야합니까?

// after adding new Users entity, I add new Employee item to it 
newUserEntity.Employee = newEmployeeEntity; 

수동으로 PK를 삽입 할 수 있도록 어떻게해야합니까 :
사실 나는이 사용하는 엔티티 프레임 워크를하고있어?

미리 감사드립니다.

+0

예외는 무엇입니까? 테이블의 키는 어떻게 정의됩니까? –

답변

0

해결 방법에는 여러 가지가 있습니다.

첫 번째 이유는 왜 두 개의 테이블이 있습니까? 대신 하나의 테이블을 가질 수 있지만 그 테이블에 대한 User 및 Employee 뷰가 있어야합니다.

둘째 테이블에 두 개의 테이블이있는 경우 두 테이블 모두에 자동 생성 된 기본 키가있는 이유는 무엇입니까? 프로그램에서 키를 생성하거나 키 테이블에서 키를 생성 한 다음 키 값을 테이블에 삽입하면됩니다.

+0

Employee 엔티티가 Employee와 관련된 다른 속성 외에도 User 엔티티와 동일한 속성을 가져야하므로 두 개의 테이블이 있습니다. Employee with Users와 같은 관계를 갖는 클라이언트라는 다른 테이블이 있다고해야합니다. . 그래서 내가 세 테이블 : 사용자, 직원 및 고객을 만들어야합니다. 감사합니다 – Dabbas

+0

테이블 3 개, 테이블 1 개, 뷰 2 개가 아닙니다 –

+0

저는 뷰가 다른 테이블의 필드를 사용하여 빌드 할 수있는 가상 테이블이라는 것을 알았습니다. 사용자 테이블에 모든 필드를 넣어야한다는 것을 의미하는 경우 직원 및 클라이언트 테이블), 직원의 새로운 레코드를 삽입 할 때 클라이언트의 필드를 NULL로 남겨두고 그 반대도 마찬가지입니까? 나는 내가 언급 한 방식 (두 번째 것)을 사용하여 원하는 것을하고 싶지만 어떤 이유로 나는 그것을 할 수 없다. – Dabbas

관련 문제