CSV와 같은 것이 처리하기에 비효율적이며 SQL / MySQL 서버가 너무 많을 정도로 충분한 데이터를 저장해야하는 소규모 프로젝트 (생산 아님)를 작업하고 있습니다. .Net은 단일 파일을로드하고 처리하는 대신 서버를 관리하고 연결하지 않고도 쿼리 할 수있는 기능을 통해 여러 데이터 항목을 효율적으로 저장할 수있는 방법이 있습니다.
List<foo>
)
CSV와 같은 것이 처리하기에 비효율적이며 SQL / MySQL 서버가 너무 많을 정도로 충분한 데이터를 저장해야하는 소규모 프로젝트 (생산 아님)를 작업하고 있습니다. .Net은 단일 파일을로드하고 처리하는 대신 서버를 관리하고 연결하지 않고도 쿼리 할 수있는 기능을 통해 여러 데이터 항목을 효율적으로 저장할 수있는 방법이 있습니다.
List<foo>
)
답변:
특별한 순서없이 몇 가지 대안이 있습니다.
여기에 더 많은 아이디어가 있습니다 : https : //.com/questions/3639846/what-is-a-good-embedded-database-to-use-with-c
Sklivvz가 제공하는 옵션 외에도 SQL 영역 외부를 탐험하고 Sterling 또는 DB4O 와 같은 임베디드 객체 지향 데이터베이스 엔진을 사용하는 것을 두려워하지 마십시오 .
작고 파일 기반이며 응용 프로그램에 포함 할 수있는 장점을 제공하지만 프로그래밍이 매우 빠르고 쉽습니다.
SQLite 가 최선의 선택입니다.
그들의 사이트에 쓰여진대로 :
SQLite는 자체 포함 된 서버리스 구성없는 트랜잭션 SQL 데이터베이스 엔진을 구현하는 소프트웨어 라이브러리입니다.
정말 당신이 찾고있는 것 같습니다!
너무 게으 르면 직접 다운로드하여 설치할 수없는 경우 에도 Chocolatey 패키지 가 있습니다!
ADO.NET은 XML로 직렬화 할 수 있으며 RDBMS의 거의 모든 기능을 갖추고 있습니다. (어쨌든 싼 것들.)
나는 그것이 "오래된"것이라는 것을 안다. 그러나 지금 내려다 보았지만 ADO.NET은 당신이 묘사 한 것과 정확히 일치합니다. 커밋되지 않은 변경 사항을 추적하는 것도 괜찮습니다.
"오래된"것일 수도 있지만 "파열 된"것은 아닙니다. 그러나 메모리 공간이 상당히 큽니다. 4000 개의 레코드는 문제가되지 않습니다.