MS SQL Server, SQL Compact Edition, SQL Express, MySql 및 SQLite와 함께 사용되는 응용 프로그램 app.config에서 구성 할 수있는 데이터베이스 계층 코드에 대해 Entity Framework (코드 우선)를 사용할 수 있습니다 , 그리고 가능한 다른 것들.
EF가 PostreSQL과 함께 작업하는 데 블로그가 사용되고 있지만 지원을 권장하지 않습니다. 지루하고 힙니다.
다른 데이터 제공 업체를 지원하는 PetaPoco (A Micro ORM)를 사용할 수도 있지만 직접 쿼리를 작성해야합니다. 그러면 활성 데이터 제공자에 대한 쓰기 SQL 쿼리 작성이 수반됩니다.
Entity Framework는 SQL 쿼리 생성기가 포함 된 Entity Framework 용 Providers를 사용하여 모든 SQL을 작성합니다.
그러나 응용 프로그램의 특성에 따라 SQLite 100 % 만 사용하는 것이 좋습니다. 데이터베이스 서버 소프트웨어를 전혀 설치하지 않고도 응용 프로그램에 임베드 할 수 있습니다. 그런 다음 SQL 쿼리 변환 및 데이터베이스 서버의 차이점에 대해 걱정하지 않고 PetaPoco 또는 자체 데이터 계층에 의존 할 수 있습니다.
나는 NoSql을 추천하지만, 제 생각에는 무료 NoSql 솔루션 (그 중 제가 인식하고있는)은 .Net 플랫폼에서 매우 실용적이지 않습니다.
코드를 직접 관리 할 필요없이 (많은 데이터베이스 서버) 지원할 수 있다는 측면에서 Entity Framework가 가장 좋은 솔루션 일 것입니다.
그러나 Entity Framework를 중단하기 전에 CodeFrist을 사용하여 데이터베이스를 생성하고 자동으로 업그레이드를 수행 할 수 있다는 사실을 고려하십시오. 예 : 테이블과 컬럼을 정의하는 엔티티를 생성합니다 (서로 상속하여 다른 테이블의 컬럼 이름/유형을 재사용 할 수 있음). 또한 변경된 새 버전을 정의하는 마이그레이션 클래스를 만들 수 있으므로 데이터베이스의 버전 X.1을 X.9로 자동 마이그레이션 할 수 있습니다. 매우 편리합니다.