LINQ to DB는 LINQ 문법 또는 메소드 방식으로 데이터베이스에 질의할 수 있게 해주는 라이브러리 입니다.
Dapper와 다른 점은 Dapper가 SQL을 사용해서 POCO 개체와 매핑한다면 LINQ to DB
는 LINQ를 써서 매핑한다는 점입니다.
Entity Framework에 익숙한 분이라면 LINQ의 유익 – 컴파일 시점에서 질의문 오류 확인 – 을 백분 활용하면서 빠르게 데이터베이스에 엑세스할 수 있습니다.
특징
- 변경 사항 추적 기능 없음
- 명시적 조인 구문
- CTE 지원
- 대량 복사/삽입 지원
- 윈도우/분석 함수
- 머지 API
public class DbNorthwind : LinqToDB.Data.DataConnection
{
public DbNorthwind() : base("Northwind") { }
public ITable<Product> Product => this.GetTable<Product>();
public ITable<Category> Category => this.GetTable<Category>();
// ... other tables ...
}
using LinqToDB;
using LinqToDB.Common;
public static List<Product> GetProducts()
{
using var db = new DbNorthwind();
var query = from p in db.Product
where p.ProductID > 25
orderby p.Name descending
select p;
return query.ToList();
}
다양한 DB를 지원합니다.