Entity Framework 란?
 
Entity Framework 은 논리적인 데이터베이스를 EDM(Entity Data Model) 을 사용하여 추상적인 단계로 끌어올릴 수 있습니다. 보다 쉽게 EDM(Entity Data Model) 을 만들 수 있지만, 운영, 관리적인 면에서는 아직은 미흡한 면이 있네요. 아마도 v2 버전에서는 이러한 고민을 해결할 수 있지 않을까 합니다.
 
Entity Framework 를 보다 자세히 알고 싶으면 아래의 링크를 참조하시기 바랍니다.
 
 
 
EDM(Entity Data Model) 바인딩 문제
 
시작부터 문제가 발생합니다. 우선 Entity Framework 로 작성된 EDM(Entity Data Model) 을 웹 페이지(.ASPX) 에 바인딩 하고자 합니다.
 
아래의 코드는 WCF 서비스를 사용하여 데이터를 조회하여 EDM(Entity Data Model) 을 리턴하는 코드입니다. WCF 서비스에서는 LINQ to Entity 를 사용하여 데이터를 조회하였구요.
 

[그림1] EDM(Entity Data Model) 을 조회하는 코드
 
그리고 아래와 같이 .ASPX 페이지에 EDM(Entity Data Model) 을 바인딩 하는 코드입니다.
[그림2] 웹 페이지(.ASPX) 에서 EDM(Entity Data Model) 바인딩
 
하지만 아래와 같이 쓴맛의 오류를 보아야 합니다.
 
[그림3] 바인딩 구문으로 인한 오류 메시지
 
분명 프로젝트의 참조는 모두 정상적인데 말이죠^^;
 
 
EDM(Entity Data Model) 바인딩 문제 원인
 
우선 EDM(Entity Data Model) 이 웹 프로젝트에 참조되는 형태를 보시면 됩니다.
 
EDM(Entity Data Model) 은 아래와 같이 리소스 형태로 웹 프로젝트에 참조가 됩니다.
 
[그림4] EDM(Entity Data Model) 의 참조 형태
 
잘 모르시겠다구요? 그럼 [그림4] 의 .datasource 를 XML Editor 를 통해 다시 보면 아래와 같이 구성되었습니다.
 
[그림5] EDM(Entity Data Model) 의 .datasource 내용
 
즉, 참조되는 EDM(Entity Data Model) 은 물리적으로 참조되는 어셈블리가 아닌 [그림5] 와 같은 리소스의 형태로도 추가가 됩니다.
 
 
EDM(Entity Data Model) 바인딩 문제 해결 방법
 
그렇다면 이러한 리소스 내용의 타입으로 존재하는 EDM(Entity Data Model) 을 컴파일 할 수 있도록 해야 합니다.
 
웹 프로젝트의 Web.config 에 아래의 내용을 추가해 주어야 합니다.
 
[그림6] EDM 리소스를 컴파일 할 수 있도록 compilation 의 assemblies 요소안에 추가
 
그래야 오류가 없이 웹 페이지가 컴파일 될 수 있습니다.

'.NET > .NET Framework' 카테고리의 다른 글

MEF Preview 5 Released  (0) 2009.04.09
[MEF] 4. Import 선언  (6) 2009.04.07
ASP.NET 에서 Entity Framework 바인딩 문제  (2) 2009.03.29
[MEF] 3. Export 선언  (0) 2009.03.29
[MEF] 2. Parts 와 Contracts 선언  (0) 2009.03.22
[MEF] 1. Managed Extensibility Framework 이란?  (0) 2009.03.16
Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 테디 2010.01.08 16:38 Address Modify/Delete Reply

    회사에서 지금 ADO.NET Entity Framework 적용해서 프로젝트 해본경험 있어?