2008-09-16 3 views
7

저는 간단한 프레임 워크를 시작하기 위해 Entity Framework를 사용했습니다. 이 프로젝트에서 SQL Server 2000 데이터베이스에서 새로운 엔터티 데이터 모델을 만들었습니다. 엔티티에 LINQ를 사용하여 데이터를 쿼리하고 화면에 값을 표시 할 수 있습니다.Entity Framework에서 데이터베이스 독립성을 구현하는 방법

필자는 매우 유사한 스키마를 사용하는 Oracle 데이터베이스를 보유하고 있습니다. (필자는 정확하지만 오라클의 모든 세부적인 내용을 모릅니다.) 최소한의 노력으로 SQL Server와 Oracle 데이터 저장소 모두에서 프로젝트를 실행할 수 있기를 바랍니다. 내 Entity Data Model의 구성 문자열을 간단히 변경할 수 있기를 바라고 있었고 나머지는 Entity Framework에서 처리했습니다. 그러나, 내가 생각하기에 완벽하게 작동하지 않는 것으로 보입니다.

누구든지 내가하려는 일을 했습니까? 다시 말하지만 Entity Framework를 사용하여 최소한의 노력으로 SQL Server 또는 Oracle 데이터베이스에서 데이터를 쿼리 (및 업데이트) 할 수있는 응용 프로그램을 작성하려고합니다. 부차적 인 목표는 데이터 저장소간에 앞뒤로 전환 할 때 응용 프로그램을 다시 컴파일 할 필요가 없다는 것입니다. 다시 컴파일 할 필요가 없기 때문에 "데이터베이스에서 모델 업데이트"를해야하지만이 경로를 사용하지 않는 것이 좋습니다. 누구든지 필요한 단계를 알고 있습니까?

+2

LOL이 데이터베이스 무지를 제공하지 않는다면, 엔티티 프레임 워크는 무엇에 좋은가요? 이런! – Sklivvz

+0

@ YeahStu .. 게시물이 꽤 오래 된 것을 본 것과 같은 요구 사항이 있습니다 ... Entity Framework가 지금까지 수정되었습니다. EF를 사용하여 데이터베이스 독립성을 달성 할 수 있었습니까?이 문제를 해결하고 해결 방법을 공유하십시오. ... 미리 감사드립니다. – NMathur

답변

2

"Persistence Ignorance"라는 용어에서 일반적으로 이해되는 것은 엔티티 클래스가 프레임 워크 종속성으로 넘치지 않는다는 것입니다 (N 계층 시나리오에서 중요 함). 엔티티 클래스는 일반 오래된 CLR 객체와 달리 특정 EF 인터페이스 ("IPOCO")를 구현해야하므로 현재로서는 그렇지 않습니다. 다른 포스터에서 언급했듯이 Persistence Ignorance (POCO) Adapter for Entity Framework V1이라는 솔루션이 있으며 EF V2는 기본적으로 POCO를 지원합니다.

하지만 당신이 정말로 염두에 두었던 것은 데이터베이스의 독립이라고 생각합니다. 저장소 모델, 개념 모델 및 형식화 된 ObjectContext가 생성 될 때 생성되는 두 모델 간의 매핑을 포함하는 하나의 큰 구성 XML로 인해 두 데이터베이스를 투명하게 지원하는 방법을 이미지화하기가 어렵습니다.

DataDirect에서와 같은 데이터베이스 독립형 ADO.NET 공급자를 적용하는 것이 더 유망 해 보이는 것 같습니다. DataDirect는 또한 2008 년 3/4 분기에 EF 지원을 발표했습니다.

관련 문제