2011-08-03 7 views
0

여러 테이블이있는 Model1.edmx가 있습니다. 이제는 TableA 테이블의 모든 열을 필요로하지 않으므로 다른 엔티티를 만들고 테이블 매핑을 사용하여 TableA로 매핑했습니다.엔티티 프레임 워크의 테이블 매핑

같은 일을하면서 많은 문제에 직면하고 있습니다. 나는 FK 연결을 작성하는 경우, 그것이 내가 복용하고있는 방법이 올바른지 엔티티 세트 alraedy이 TableA의 존재로서 나는, 확실하지 않다 "Non-Primary-Key column(s) [XXX] are being mapped in both fragments to different conceptual side properties".

을 말한다

" Thier primary key may collide". 

I가 얻을 오류, .

이것이 해결책 인 경우 접근 방법 인 경우

그렇지 않은 경우 어떤 방법으로 가야합니까?

업데이트 : : 필요없는 속성을 삭제했는데 TableA의 FK 인 다른 테이블의 속성도 추가했습니다.

지금은 오류 " Problem in mapping fragments starting at line 566:Must specify mapping for all key properties (TableAs.ID) of the EntitySet TableAs.을 얻고있다 "그들이 FK했다으로

UPDATE 나는 다른 테이블에게 속성을 추가하고, 나는 UI의 다른 테이블에서 몇 열을 원했다. 이것이 좋은 (또는 가능)인가 접근 방식 또는 내가 클래스를 생성 한 다음, 사전에 클래스의 각 속성을 수동으로 감사합니다지도

답변

0

을이가 무엇을 의미해야합니다?를. 이제

, 내가 원하지 않는 모든 C tableA의 olumns, 그래서 나는 다른 엔티티를 생성하고 테이블 매핑을 사용하여 TableA로 매핑했다.

명확하지 않습니다. TableA에있는 열의 하위 집합 만 처리하고 응용 프로그램의 다른 모든 부분은 무시한다는 것을 의미합니까? 공백을 허용한다고 가정하면 (StoreGeneratedProperty/Computed) 엔티티에서 TableA에 대한 항목을 클릭하여 삭제할 수 있습니다. 당신은 테이블 당 계층 구조 상속, 당신이에 관심이 같은 소리하지 않습니다 다루는 경우가 아니라면 TableA에 매핑있어 다른 개체를 만들 수 없습니다

.

+0

나는 열을 싶지 않아 데이터베이스 또는 개발 목적을 위해 내부적입니다. UI (또는 사용자)에 사용할 열만 공개하려고합니다. 또한, 나는 "table-per-hierarchy feature"에 대해 확신하지 못합니다. 당신은 그것에 대해 자세히 설명 할 수 있습니까? 아니면 그냥 도움이 될 것입니다. – genericuser

+0

@Priya : 당신이 이야기하는 것은 테이블 상속과 관련이 없으므로, 그것이 무엇인지 배우는 것에 관심이 있다면 그것을 찾아보십시오. 이 문제로 당신을 도울 수는 없을 것입니다. 앞에서 설명한 것처럼 열이 nullable이면 디자이너에서 열 속성을 제거하면됩니다. 엔티티를 저장할 수 없으므로 널 (NULL) 입력이 가능하지 않으면 제거 할 수 없습니다. –

+0

좋아요, 엔티티 또는 엔티티 세트에서 제거해야합니까? 그리고 그것은 어떤 crud 작업에도 영향을 미치지 않을까요 ?? 또한 엔티티의 열 이름을 바꿀 수있는 방법이 있습니까? – genericuser

관련 문제