본문 바로가기

C#

LiteDB

728x90

LiteDB의 장점
- 100% C#으로 만들어졌다
- 크로스 플랫폼(.Net Standard가 동작하는 곳이라면)
- 단일 파일 데이터베이스
- DB 서버 불필요
- NoSQL
- 스레드 안전

SQLite와의 비교
- SQLite는 라이브러리 자체를 설치하면 약 5MB 정도 되기 때문에 전혀 Lite하지 않다
- 좋든 나쁘든 C로 작성되어 있어서 네이티브 라이브러리의 래퍼이기 때문에 크로스 플랫폼으로 이용하는 것을 감안할 때 100% C#으로 된 것을 사용하는 것이 좋다.

사용방법
1.
NuGet의 경우
> Install-Package LiteDB
.Net CLI의 경우
$ dotnet add package LiteDB

2. 샘플 코드

public class Post
{
   public int Id { get; set; }
   public string Title { get; set; }
   public string Body { get; set; }
}

public static void Main()
{
   // 생성자 인수는 파일 이름
   using var context = new LiteDatabase("./data.db");

   // 엔티티
   var post = new Post()
   {
       Title = "たいとるうううう",
       Body = "ぼでえええええええ"
   };

   // DB 접속
   var posts = context.GetCollection<Post>("posts");

   // Title을 유니크 인덱스로 한다
   posts.EnsureIndex(x => x.Title, true);

   // 추가
   posts.Insert(post);

   post.Title = "更新したよおおおお";

   // 갱신
   posts.Update(post);

   // 검색
   // Title이 「更」으로 시작하는 것
   var results = posts.Find(x => x.Title.StartsWith("更"));
}

 

3. 저장된 LiteDB를 확인해보고 싶다면 LiteDB.Studio를 설치해서 확인하면 된다.
https://github.com/mbdavid/LiteDB.Studio

[출처]
https://jacking75.github.io/NET_lib_LiteDB/
https://www.litedb.org/

728x90

'C#' 카테고리의 다른 글

Delegate와 Event  (0) 2023.11.03
AutoMapper란?  (0) 2023.11.03
싱글톤 패턴(Singleton Pattern)  (0) 2023.01.30
구조체(struct)와 클래스(class)의 차이  (0) 2023.01.30
디자인 패턴 정의와 종류에 대해  (0) 2023.01.26