programing

있나요?SQLite용 NET/C# 래퍼?

stoneblock 2023. 5. 4. 17:58

있나요?SQLite용 NET/C# 래퍼?

C# 내에서 SQLite를 사용하고 싶습니다.넷, 하지만 적당한 도서관을 찾을 수가 없어요.있어요?공식적인 거?SQLite를 래퍼와 함께 사용하는 것 외에 다른 방법이 있습니까?

https://system.data.sqlite.org 에서:

시스템. 데이터.SQLite는 ADO입니다.SQLite용 NET 어댑터입니다.

시스템. 데이터.SQLite는 Robert Simpson에 의해 시작되었습니다.Robert는 여전히 이 리포지토리에 대한 커밋 권한을 가지고 있지만 더 이상 활성 기여자가 아닙니다.현재 개발 및 유지보수 작업은 대부분 SQLite 개발 팀에서 수행합니다.SQLite 팀은 시스템 지원에 전념하고 있습니다.Data.SQLite는 장기적으로 제공됩니다.

"시스템.Data.SQLite는 원래 SQLite 데이터베이스 엔진이며 완전한 ADO입니다.NET 2.0 공급자는 모두 단일 혼합 모드 어셈블리로 롤업되었습니다.원래 sqlite3.dll을 완전히 대체한 것입니다(sqlite3.dll로 이름을 바꿀 수도 있습니다).일반적인 혼합 어셈블리와 달리 에 대한 링커 종속성은 없습니다.와 독립적으로 배포할 수 있는 NET 런타임입니다.NET."

모노도 지원합니다.

찾을 수 있는 항목은 다음과 같습니다.

출처:

SQLite에서 C#으로 연결되는 완전한 포트인 http://code.google.com/p/csharp-sqlite/ 도 이제 이 옵션을 사용할 수 있습니다.

sqlite.org 의 사람들이 ADO의 개발을 인계받았습니다.NET 제공업체:

홈페이지에서:

이것은 인기 있는 ADO의 포크입니다.SQLite용 NET 4.0 어댑터(시스템).Data.SQLite.시스템의 창시자입니다.Data.SQLite인 Robert Simpson은 이 포크를 알고 있으며, 승인 의사를 표시했으며, 새 Fossil 저장소에 대한 커밋 권한을 가지고 있습니다.SQLite 개발 팀은 시스템을 유지 관리할 계획입니다.Data.SQLite 앞으로 이동합니다.

원래 지원 포럼뿐만 아니라 이전 버전도 http://sqlite.phxsoftware.com 에서 찾을 수 있지만 2010년 4월 이후 이 버전에 대한 업데이트는 없습니다.

기능의 전체 목록은 Wiki에서 확인할 수 있습니다.주요 내용은 다음과 같습니다.

  • ADO.NET 2.0 지원
  • 전체 엔터티 프레임워크 지원
  • 완전 모노 지원
  • Visual Studio 2005/2008 Design-Time 지원
  • Compact Framework, C/C++ 지원

릴리스된 DLL은 사이트에서 직접 다운로드할 수 있습니다.

저는 확실히 시스템에 동의합니다.Data.SQLite(앞에서 언급한 바와 같이 http://sqlite.phxsoftware.com/)

그것은 ADO와 일관성이 있습니다.NET(시스템).Data.*), 단일 DLL로 컴파일됩니다.SQLite3.dll 없음 - SQLite의 C 코드가 시스템에 포함되어 있기 때문입니다.Data.SQLite.dll.약간의 관리된 C++ 마법.

sqlite-net은 오픈 소스이며 허용하는 최소 라이브러리입니다.SQLite 3 데이터베이스에 데이터를 저장하는 NET 및 Mono 애플리케이션자세한 내용은 Wiki 페이지를 참조하십시오.

이 문서는 C#으로 작성되었으며 프로젝트와 함께 간단히 컴파일할 수 있습니다.처음에는 iPhone에서 MonoTouch와 함께 작동하도록 설계되었지만, 모든 플랫폼(Android용 Mono,NET, Silverlight, WP7, WinRT, Azure 등).

Nuget 패키지로 제공되며 2014년 기준으로 60,000건 이상의 다운로드를 기록한 두 번째로 인기 있는 SQLite 패키지입니다.

sqlite-net은 빠르고 편리한 데이터베이스 계층으로 설계되었습니다.설계는 다음과 같은 목표를 따릅니다.

  • 기존 프로젝트 및 MonoTouch 프로젝트와 매우 쉽게 통합할 수 있습니다.
  • SQLite를 통한 Thin Wrapper는 빠르고 효율적이어야 합니다. (라이브러리가 쿼리의 성능 병목 현상이 되어서는 안 됩니다.)
  • CRUD 작업 및 쿼리를 안전하게 실행하고(파라미터 사용) 이러한 쿼리 결과를 강력하게 입력하는 매우 간단한 방법입니다.
  • 클래스를 강제로 변경하지 않고 데이터 모델과 함께 작동합니다.(작은 반사 구동 ORM 레이어 포함)
  • sqlite2 라이브러리의 컴파일된 형식을 제외하고 0개의 종속성이 있습니다.

비목표는 다음과 같습니다.

  • ADO가 아닙니다.NET 구현.전체 SQLite 드라이버가 아닙니다.필요한 경우 시스템을 사용합니다.Data.SQLite.

모노는 포장지와 함께 제공됩니다.https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 실제 SQLite dll(http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip 다운로드 페이지에서 찾을 수 있는 http://www.sqlite.org/download.html/ )을 .net 친화적인 방식으로 래핑할 수 있는 코드를 제공합니다.Linux 또는 Windows에서 작동합니다.

이 기능은 타사 라이브러리에 대한 의존도를 최소화하여 세계에서 가장 얇은 것으로 보입니다.만약 제가 이 프로젝트를 처음부터 다시 해야 한다면, 저는 이렇게 할 것입니다.

마이크로소프트.Data.Sqlite

마이크로소프트는 이제 마이크로소프트를 제공합니다.Data.Sqlite는 을 위한 타사 SQLite 솔루션입니다.NET, ASP의 일부로 제공됩니다.NET 코어.라이센스는 Apache 라이센스 버전 2.0입니다.

고지 사항: 아직 직접 사용해 본 적은 없지만 Microsoft Docs에서 제공하는 사용 설명서가 있습니다.NET Core 및 UWP.

나처럼 ADO가 필요 없거나 원하지 않는 사람들을 위해.SQLite에 가까운 코드를 실행해야 하지만 여전히 호환되는 NETnetstandard(.net framework, .net core 등), 다음 github에서 사용할 수 있는 SQLNado("Not ADO"용)라는 100% 무료 오픈 소스 프로젝트를 구축했습니다.

https://github.com/smourier/SQLNado

https://www.nuget.org/packages/SqlNado 에서 너지로 사용할 수 있지만 단일 .cs 파일로도 사용할 수 있으므로 모든 C# 프로젝트 유형에서 사용하는 것이 매우 실용적입니다.

SQL 명령을 사용할 때 모든 SQLite 기능을 지원하며 를 통해 대부분의 SQLite 기능을 지원합니다.NET:

  • 자동 클래스 대 테이블 매핑(저장, 삭제, 로드, 모두 로드, 기본 키별 로드, 로드 기준)외부 키 등)
  • 클래스와 기존 테이블 간의 스키마(테이블, 열) 자동 동기화
  • 스레드 세이프 작동을 위해 설계됨
  • LINQ/IQueryable별 위치 및 주문.NET 식은 데이터 정렬 지원과 함께 지원됩니다(이 영역에서 작업이 여전히 진행 중).
  • SQLite 데이터베이스 스키마(테이블, 열 등)가 에 노출됩니다.그물
  • SQLite 사용자 지정 함수는 에서 작성할 수 있습니다.그물
  • SQLite 증분 BLOB I/O는 로 노출됩니다.높은 메모리 소비를 방지하는 NET 스트림
  • 를 사용하여 사용자 지정 콜리메이션을 추가할 수 있는 기능을 포함한 SQLite 콜리메이션 지원.NET 코드
  • SQLite 확장(.dll) 로드 지원
  • SQLite FTS3(Full Text Search Engine) 지원. 를 사용하여 사용자 지정 FTS3 토큰화 기능을 추가할 수 있습니다.NET 코드(예: 현지화된 중지 단어).저는 다른 어떤 것도 믿지 않습니다.NET 래퍼들은 그렇게 합니다.
  • 이진 종속성 파일이 전송되지 않도록 Windows 'winsqlite3.dll'(최신 Windows 버전에만 해당)을 자동으로 지원합니다.이것은 Azure 웹 앱에서도 작동합니다!

모노터치 버전 1.2에는 시스템 지원이 포함되어 있습니다.자세한 내용은 여기에서 확인할 수 있습니다. http://monotouch.net/Documentation/System.Data

하지만 기본적으로 일반적인 ADO를 사용할 수 있습니다.sqlite가 있는 NET 패턴입니다.

http://www.devart.com/dotconnect/sqlite/

SQLite용 dotConnect는 ADO를 기반으로 하는 SQLite용 향상된 데이터 공급자입니다.SQLite 기반 데이터베이스 애플리케이션을 개발하기 위한 완벽한 솔루션을 제공하는 NET 기술.Devart 데이터베이스 애플리케이션 개발 프레임워크의 일부로, SQLite용 dotConnect는 SQLite 데이터베이스에 대한 고성능 기본 연결과 다양한 혁신적인 개발 도구 및 기술을 제공합니다.

SQLite용 dotConnect는 애플리케이션 아키텍처 설계를 위한 새로운 접근 방식을 도입하고 생산성을 높이며 데이터베이스 애플리케이션 구현을 활용합니다.

저는 표준 버전을 사용합니다, 완벽하게 작동합니다 :)

sqlite 라이브러리에서 제공하는 함수의 기본 래퍼입니다.최신 버전은 sqlite 라이브러리 3.7.10에서 제공하는 기능을 지원합니다.

SQLiteWrapper 프로젝트

언급URL : https://stackoverflow.com/questions/93654/is-there-a-net-c-wrapper-for-sqlite