Repolode
dotnetcore

dotnetcore/FreeSql

FreeSql은 AOT와 코드 우선 마이그레이션을 지원하며, MySQL, PostgreSQL, SQL Server, Oracle, SQLite 및 여러 중국 국내 데이터베이스를 지원하는 .NET ORM입니다.

스타
4,409
포크
910
열린 이슈
179
마지막 커밋
6일 전

어떤 프로젝트인가요?

FreeSql은 .NET용 객체 관계 매핑 라이브러리로, .NET Core 2.1 이상, .NET Framework 4.0 이상, Xamarin 및 AOT 환경을 대상으로 합니다. 개발자는 C# 또는 VB.NET으로 엔터티 클래스를 정의하고, 하나의 IFreeSql 인스턴스를 통해 fluent API로 데이터를 조회, 삽입, 수정, 삭제할 수 있습니다.

데이터 접근뿐 아니라 스키마 작업도 지원합니다. 코드 우선 마이그레이션으로 엔터티 정의에 맞춰 테이블을 동기화할 수 있으며, DbFirst를 사용하면 기존 데이터베이스에서 엔터티 클래스를 생성할 수 있습니다. 탐색 속성은 include 및 지연 로딩과 함께 일대다·다대다 관계를 지원하고, 식 기반 쿼리는 원하는 방식으로 사용자 지정할 수 있습니다.

MySQL, SQL Server, PostgreSQL, Oracle, SQLite, Firebird, ClickHouse, DuckDB, TDengine, QuestDB, MS Access를 비롯해 DM(达梦), KingbaseES(人大金仓), GBase(南大通用) 같은 중국 국내 데이터베이스 등 폭넓은 데이터베이스를 지원합니다. 읽기/쓰기 분리, 테이블 및 데이터베이스 샤딩, 전역 필터, 낙관적·비관적 잠금 기능도 제공합니다.

핵심 기능

  • 01코드 우선 데이터 마이그레이션 및 기존 데이터베이스에서 DbFirst로 엔터티 생성
  • 02일대다·다대다 관계를 지원하는 탐색 속성, include 및 지연 로딩
  • 03사용자 지정 분석을 지원하는 식 기반 쿼리
  • 04읽기/쓰기 분리, 테이블 및 데이터베이스 샤딩, 전역 필터
  • 05낙관적·비관적 잠금 지원
  • 06여러 중국 국내 데이터베이스를 포함한 다양한 관계형·분석용·임베디드 데이터베이스 지원

활용 사례

  • 하나의 데이터 접근 계층으로 여러 데이터베이스를 대상으로 하는 .NET 백엔드 구축
  • .NET에서 DM, KingbaseES, GBase 같은 중국 국내 데이터베이스 사용
  • 대용량 .NET 애플리케이션에 읽기/쓰기 분리 또는 테이블 샤딩 도입
  • 기존 데이터베이스 스키마에서 엔터티 클래스 생성

빠른 시작

  1. 1

    SQLite 공급자 패키지를 설치합니다

    dotnet add package FreeSql.Provider.Sqlite
  2. 2

    연결 문자열을 사용해 싱글턴 IFreeSql 인스턴스를 생성합니다

  3. 3

    엔터티를 정의하고 fsql.Select<T>()로 데이터를 조회합니다

포함된 컬렉션

토픽

자주 묻는 질문

FreeSql은(는) 무엇인가요?
FreeSql은 AOT와 코드 우선 마이그레이션을 지원하며, MySQL, PostgreSQL, SQL Server, Oracle, SQLite 및 여러 중국 국내 데이터베이스를 지원하는 .NET ORM입니다. FreeSql은 .NET용 객체 관계 매핑 라이브러리로, .NET Core 2.1 이상, .NET Framework 4.0 이상, Xamarin 및 AOT 환경을 대상으로 합니다. 개발자는 C# 또는 VB.NET으로 엔터티 클래스를 정의하고, 하나의 IFreeSql 인스턴스를 통해 fluent API로 데이터를 조회, 삽입, 수정, 삭제할 수 있습니다.
FreeSql은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
FreeSql은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
FreeSql은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. FreeSql의 마지막 커밋은 2026년 11월 1일입니다.
FreeSql은(는) 어디에 사용할 수 있나요?
하나의 데이터 접근 계층으로 여러 데이터베이스를 대상으로 하는 .NET 백엔드 구축 .NET에서 DM, KingbaseES, GBase 같은 중국 국내 데이터베이스 사용 대용량 .NET 애플리케이션에 읽기/쓰기 분리 또는 테이블 샤딩 도입 기존 데이터베이스 스키마에서 엔터티 클래스 생성
FreeSql는 어떻게 설치하나요?
SQLite 공급자 패키지를 설치합니다: dotnet add package FreeSql.Provider.Sqlite 연결 문자열을 사용해 싱글턴 IFreeSql 인스턴스를 생성합니다 엔터티를 정의하고 fsql.Select<T>()로 데이터를 조회합니다
FreeSql은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dotnetcore/FreeSql

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

클라이언트가 필요한 데이터와 응답 구조를 정의해, 백엔드에서 엔드포인트를 일일이 작성하지 않고도 다양한 API를 제공할 수 있게 하는 JSON 기반 프로토콜 및 ORM 라이브러리입니다.

1.8만2.3천JavaOther활발히 관리됨업데이트 7일 전