다양한 데이터베이스에 대한 Entity Framework 공급자 목록


82

어떤 공급자가 있고 그들을 사용한 경험

가능한 모든 기본 .NET Framework Entity Framework 공급자와 기본 LINQ2Entities (MS SQL 용 MS) 와 비교 한 제한 사항에 대해 알고 싶습니다 . 동일한 데이터베이스에 대해 더 많은 것이 있으면 더 좋습니다. 이 목록으로이 게시물을 업데이트하겠습니다.

이 게시물에 직접 추가 공급자를 추가하거나 답변을 제공하면 다른 사람 (나를 포함하여)이 목록에 추가 할 것입니다.

Entity Framework 1

Microsoft SQL Server Standard / Enterprise / Express

Microsoft SQL Server CE (Compact Edition)

  • 공급자가 있습니까?

MySQL

  • MySQL의 커넥터 (버전 6.0 이후) - 사용할 때이 문제에 대해 읽었습니다 Skip(), Take()그리고 Sort()같은 식 트리에 - 입력에 모두 환영 경험 / 지식이에.

    참고 : MySQL 커넥터 / NET Visual Studio 통합은 Visual Studio Express Edition에서 지원되지 않습니다. 즉, 데이터베이스 탐색기 창에서 MySQL 데이터베이스를 보거나 Visual Studio 마법사 대화 상자를 통해 MySQL 데이터 소스를 추가 할 수 없습니다. 일부 사용자는 이로 인해 Visual Studio Express 내에서 Entity Framework 및 MySQL을 사용하는 기능이 제한 될 수 있습니다.

  • MySQL을위한 Devart dotConnect - 내가 읽은과에 대한 비난 MS에 모두 시도가로 MySQL의 커넥터에 유사한 문제 [이러한 문제가 될 해야하는 해결 ]

SQLite

PostgreSQL

신탁

DB2

Sybase

Informix

파이어 버드

공급자 래퍼

Entity Framework 4 ( 베타 )

마이크로 소프트 SQL 서버

  • Microsoft의 Linq to Entities 4-.net 4.0 및 Visual Studio 2010과 함께 제공됩니다. 지금까지 EF4의 유일한 공급자

MySQL

SQLite

PostgreSQL

신탁

Microsoft SQL Server Analysis Services (SSAS)


2
누구나-InMemory 공급자가 있습니까? 물론 사용 가능한 옵션은 많이 제거 될 것입니다.하지만 아무것도없는 것보다 낫지 않습니까?
Pure.Krome

sqlite에는 빠르고 가볍고 거의 모든 기능을 갖춘 자동화 된 테스트에 적합한 메모리 내 db 옵션이 있습니다.
Jason Meckley 2012

1
재미있는 사실 : 이것은 5 개 이상의 답변이있는 몇 안되는 질문 중 하나이며 사용 가능한 모든 답변의 집계 점수가 질문 점수의 1/3 미만입니다. :
소프 트

답변:


3

DB2는 작동하지만, 우리 모두가 당연하게 여기는 기본 .NET 기능 (멤버십 및 역할 공급자를 생각) 중 일부를 사용하려면 상당한 작업을 수행해야합니다. DB2는 스토어드 프로 시저와 잘 작동하지 않으므로 매개 변수화 된 인라인 SQL도 많이 살펴보고 있습니다.

IBM 제공 업체와도 성능 문제가있었습니다. DataDirect라는 회사에서 사용할 수있는 다른 공급자가 있습니다. 성능이 더 좋아 보이지만 비용이 많이 듭니다. 속도가 중요한 외부 웹 사이트와 같은 경우 비용은 문제가되지 않을 것입니다.

다른 플랫폼에서 빌드하는 경우 DB2가 훌륭한 시스템이라고 확신하지만 실제로 .NET에서 잘 작동하도록 설계되지 않았습니다. 이미 DB2와 결혼하지 않았다면 다른 곳을 살펴볼 것입니다.


3

DB2는 아직 EF 4에서 작동하지 않는다고 생각합니다. 그렇다면 누군가 나를 바로 잡고 어떻게되었는지 알려주십시오. DB2 공급자를 데이터 소스 대화 상자에 표시 할 수 없습니다.


1
위 목록은 어쨌든 EF4에 대한 DB2 지원을 언급하지 않습니다.
Robert Koritnik


2

IBM의 Data Server Provider에는 더 복잡한 쿼리 시나리오에 대해 짜증나고 깨지기 쉬운 몇 가지 제한 사항이 있습니다. 또한 EDMX 디자이너는 "informix. *"접두사가 붙은 Informix 테이블에서 작동하지 않습니다. 여기를보십시오 : 링크 텍스트


2

SQLite 용 System.Data.SQLite 가 누락되었습니다 . 오픈 소스이며 내 경험으로 볼 때 상당히 신뢰할 수 있습니다. 내가 아는 한 SQL Server 이외의 데이터베이스에 대한 최초의 EF 공급자 중 하나였습니다.


2

"건너 뛰기 / 받기 및 주문"문제는 몇 달 전에 Devart 공급자에서 수정되었습니다.

EF4 지원에 대한 몇 가지 참고 사항
현재 Visual Studio 베타 1 및 EF4 베타 1에 대한 지원을 제공합니다. 12 월 말부터 1 월 초까지 EF4 지원이 포함 된 빌드를 출시 할 계획입니다. 우리는 Entity Framework 지원을 이상적인 것으로 부를 수 없습니다.이 ORM은 처음에 MS SQL Server 용으로 설계되었으므로 다른 DBMS의 경이로움을 고려할 가능성이 크게 제한됩니다.

EF 공급자를 구현하는 사람이 해결할 수없는 많은 문제가 있습니다. 여기에서 몇 가지 예를 볼 수 있습니다 . 주요 문제는 경우에 따라 EF 런타임에서 생성 된 CROSS APLY 및 OUTER APPLY 문과 관련이 있습니다. 다른 DBMS는이 내용을 제공하지 않으므로 번역에 문제가 발생합니다. 또한 레거시 데이터베이스의 경우 EF는 일반적으로 적용 할 수 없음을 인식해야합니다.

기본 Microsoft 디자이너에 만족하지 않는 사용자를 고려하여 강력한 디자인 타임 도구 인 Entity Developer를 제품과 함께 제공합니다.


공급자가 매개 변수를 허용하는 함수 가져 오기 (저장 프로 시저)에서 올바르게 작동합니까? MySql의 커넥터에 문제가 있었기 때문입니다.
Robert Koritnik 2009

현재 매개 변수화 된 함수 가져 오기를 고려하는 공개 요청이 없습니다. 그러나 MySQL 용 dotConnect가 요구 사항을 충족하는지 확인할 수 있습니다. 당사 사이트에서 평가판을 다운로드하기 만하면됩니다. EF v1의 실제 한 가지 더-함수 가져 오기뿐만 아니라 결과 집합을 반환하지 않는 프로 시저에 대한 지원도 제공합니다. 특정 코드 생성 및 엔티티 개발자 도구로 인해 달성되었습니다.
Devart

2

EF 7은 다음 DB 공급자를 지원합니다.

• Microsoft SQL Server

• SQLite

• Microsoft SQL Server Compact Edition

• Npgsql (PostgreSQL)

• IBM 데이터 서버

• InMemory (테스트 용)

참고


그것은 상당히 다르다 나는이 지금 이름이 변경되었습니다 EntityFrameworkCore 생각 : thedatafarm.com/data-access/...
앤드류 머리

1

MySQL에는 EF4 용 커넥터가 있고 현재 버전은 6.3.5이며 주요 기능은 정상적으로 작동하지만 몇 가지 방법에 여전히 문제가 있습니다.

  • System.Data.Objects.ObjectContext.CreateDatabase ()
  • System.Data.Objects.ObjectContext.DatabaseExists ()

모델 우선 접근 방식을 완전히 사용하기 어렵습니다. MySQL 스크립트를 수동으로 편집하여 가능합니다 (CreateDatabaseScript 메서드에서 사용 가능). MySQL 팀은 이러한 버그를 해결하기를 열망하지 않는 것 같습니다. 실제로 자신의 책임 수준이 무엇인지 확실하지 않지만 확실히 이전보다 낮습니다.

즉, 동일한 방법이 SQL CE에서도 실패합니다 (구현되지 않았으며 MS 팀이 곧이를 해결할 가능성이 없다고 생각합니다).


VS2010 / EF4에 대한 MySQL 지원에 대한 자세한 내용은 dev.mysql.com/doc/refman/5.1/en/… 페이지에서 찾을 수 있습니다 . MySQL Connector / Net 버전 6.3.2 이상이 필요합니다.
mathijsuitmegen

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.