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 |