2009-05-28 2 views
3

MS의 Entity Framework를 사용하여 MVC 프로젝트에 사용하기 시작했습니다. MS가 실제로이 작업을 수행하고있는 중이며 몇 가지 문제가 있습니다. 내 데이터베이스에는 외래 키를 통해 단일 테이블에 연결된 여러 개의 조회 테이블이 있습니다. 엔티티 프레임 워크 내에서이 데이터를 하나로 결합하여이 데이터에 대한 단순화 된 뷰를 내 모델에 포함하려고합니다. 그러나 이것은 디자이너 관점에서 가능하지 않습니다. 내가 누락 된 명백한 것이 있습니까? 이 종류의 모델을 생성하기 위해 edmx 파일을 수동으로 편집 할 수있는 방법이 있습니까?Entity Framework v1의 조회 테이블 처리

답변

3

현재 Entity Framework의 외래 키 및 찾아보기 테이블은 PAIN입니다. LINQ와

EF는

데이터가 슈퍼 쉬운지고, 표면에 이 업데이트 쉽게 보이지만, 룩업 테이블의 일이 어려워과 (지금은 ... 읽어)한다

조회 테이블을 단일 테이블로 "결합하는"방법을 잘 모르겠습니다. 각 테이블에 다른 유형의 "조회 엔티티"가 포함되어 있다면 IMHO는 EDM에서 별도로 나타내야합니다. 조회 테이블에 레코드의 외래 키를 업데이트하는 데 어려움을 겪고있는 것 같습니다. 그것은 두통이기 때문입니다.

변경 외래 키 값 : 엔티티 프레임 워크의

MyDBEntities _db = new MyDBEntities(); 
//get a Person 
MyDBEntities.Person person = (from p in _db.Persons 
         where p.Id = 1 
         select p).First(); 
// This sets the foreign key value in the Person table on the PersonType field 
person.PersonTypeReference = new EntityKey("MyDBEntities.PersonType", "PersonTypeId", 3) 

next release version라는 새로운 개념 것 "FK 협회를." 이것은 EntityKey를 생성하고 설정하는 것보다 외부 키 값을 직접 설정하는 정당성을 되 찾을 것입니다.

HTH.

+0

수정 : 이미 .NET 3.5 SP1에서 제공되는 '릴리스 버전'이 있습니다. .NET 4.0에는 다른 버전이 제공 될 예정입니다. 죄송합니다. 나는이 물건들을 까다롭게 생각합니다. EF가 아직 발송하지 않았다는 오해 된 생각을 영속시키기 때문입니다.) –

+0

아, 알았습니다. 이건 내 질문에 대한 답변입니다. 명확히하기 위해, 내가 결합하여 의미했던 것은 본질적으로 모델에서 뷰를 생성하는 것이 었습니다. (저는 ORM을 처음 접했기 때문에 일부 용어는 사용할 수 없었습니다) 이러한 모든 검색 테이블을 기반으로했습니다. 내가 작업하고있는 데이터베이스는 매우 정규화 된 방식으로 구성되어 있으므로 주, 국가 및 기타 모든 항목에 대한 조회 테이블이 있습니다. –

+0

PersonTypeReference는 아마도 EntityReference입니까? EntityKey는 실제로 EntityReference에 할당 할 수 있습니까? –

관련 문제