IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

LiteDB .NET (Jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

LiteDB to prosta, szybka i lekka wbudowana baza danych dokumentów .NET. LiteDB .NET został zainspirowany bazą danych MongoDB, a jego API jest bardzo podobne do oficjalnego API MongoDB dla .NET. LiteDB to bezserwerowa baza danych, która sprawdza się w małych projektach i aplikacjach mobilnych.

W tym artykułe znajdziesz dokładne instrukcje dotyczące wykorzystania możliwości LiteDB w swoich projektach. Przedstawiamy również użycie IronPDF, biblioteki .NET stworzonej przez Iron Software, do generowania i manipulowania plikami PDF oraz jak można ją wykorzystać do wyeksportowania zawartości bazy danych LiteDB jako PDF do przeglądania i udostępniania.

Najważniejsze cechy LiteDB

  1. Wbudowana baza danych: Nie ma potrzeby stosowania oddzielnego serwera. LiteDB działa w ramach procesu aplikacji.
  2. Pojedynczy plik danych: Możesz przechowywać wszystkie swoje dane w jednej bazie danych w postaci pliku, co upraszcza wdrażanie i tworzenie kopii zapasowych.
  3. Format BSON: Wykorzystuje format BSON do przechowywania danych, zapewniając szybkie operacje odczytu i zapisu.
  4. Obsługa LINQ: W pełni obsługuje LINQ do tworzenia zapytań, dzięki czemu jest intuicyjny dla programistów .NET.
  5. Transakcje ACID: Zapewnia integralność danych dzięki obsłudze transakcji ACID.
  6. Wielopłatformowość: Działa na systemach Windows, Linux i macOS.

Konfiguracja LiteDB w projektach .NET

Otwórz projekt w programie Visual Studio. Następnie w Solution Explorer kliknij prawym przyciskiem myszy swój projekt i wybierz "Manage NuGet Packages". Wyszukaj LiteDB i zainstaluj go, aby bez wysiłku włączyć to rozwiązanie bazodanowe do swojego projektu.

Alternatywnie można zainstalować go za pomocą konsoli menedżera pakietów. Aby zainstalować LiteDB w konsoli menedżera pakietów NuGet, użyj następującego polecenia:

PM > Install-Package LiteDB

Pierwsze kroki z LiteDB

Po zainstalowaniu możesz zacząć używać LiteDB w swojej aplikacji. Przejdźmy przez kilka przykładów, aby zilustrować jego użycie.

Przykład 1: Tworzenie i wstawianie danych

Najpierw utworzmy prosta Product klase do reprezentowania naszych danych:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

Następnie utworzymy bazę danych i dodamy do niej kilka produktów:

using LiteDB;
using System;

class Program
{
    static void Main()
    {
        // Open the database (or create it if it doesn't exist)
        using (var db = new LiteDatabase(@"MyData.db"))
        {
            // Get a collection (or create, if it doesn't exist)
            var products = db.GetCollection<Product>("products");

            // Create a list of products to insert into the database
            var productList = new[]
            {
                new Product { Id = 201, Name = "Apple", Price = 0.99m },
                new Product { Id = 202, Name = "Banana", Price = 0.59m },
                new Product { Id = 203, Name = "Orange", Price = 0.79m },
                new Product { Id = 204, Name = "Grape", Price = 2.99m },
                new Product { Id = 205, Name = "Watermelon", Price = 4.99m }
            };

            // Insert each product into the collection
            foreach (var product in productList)
            {
                products.Insert(product);
            }

            Console.WriteLine("Product inserted successfully.");
        }
    }
}

Opis kodu

Kod inicjuje polaczenie z baza danych LiteDB o nazwie "MyData.db" i pobiera kolekcje o nazwie "products". Nastepnie tworzy tablice obiektow Product z roznymi wlasciwosciami, takimi jak ID, Name i Price. Kazdy produkt w tablicy jest wstawiany do kolekcji "products" w bazie danych. Po pomyślnym wstawieniu wszystkich produktów wyświetla komunikat potwierdzający na konsoli.

Wynik powinien wyglądać następująco:

LiteDB .NET (Jak to dziala dla deweloperow): Rysunek 1 - Wyjsciowy tekst z konsoli z poprzedniego kodu

Przykład: Usprawnienie zarządzania danymi użytkowników

Wyobraź sobie, że tworzysz aplikację mobilną do zarządzania kontami użytkowników. Każdy użytkownik posiada profil zawierający imię i nazwisko, adres e-mail, preferencje (zapisane jako obiekt JSON) oraz listę ulubionych pozycji. Oto, w jaki sposób LiteDb.NET może uprościć przechowywanie danych:

Ten kod definiuje klase User do reprezentowania danych uzytkownika oraz klase UserManager do zarzadzania operacjami uzytkownika w bazie danych LiteDb.NET

using LiteDB;
using System.Collections.Generic;

public class User
{
    [BsonId]
    public string Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public Dictionary<string, string> Preferences { get; set; }
    public List<string> FavoriteItems { get; set; }
} 

public class UserManager
{
    private readonly LiteDatabase db;

    public UserManager(string connectionString)
    {
       db = new LiteDatabase(connectionString);
    }

    public void SaveUser(User user)
    {
        var collection = db.GetCollection<User>("users");
        collection.Insert(user);
    }

    public User GetUser(string userId)
    {
        var collection = db.GetCollection<User>("users");
        return collection.FindById(userId);
    }

    public void UpdateUser(User user)
    {
        var collection = db.GetCollection<User>("users");
        collection.Update(user);
    }

    public void DeleteUser(string userId)
    {
        var collection = db.GetCollection<User>("users");
        collection.Delete(userId);
    }
}

To wdrożenie skutecznie wykorzystuje możliwości LiteDb.NET w zakresie zarządzania danymi użytkowników. Klasa User przechowuje informacje o uzytkownikach, podczas gdy klasa UserManager zapewnia metody zapisu, pobierania, aktualizacji i usuwania uzytkownikow z bazy danych.

LiteDB, wbudowana baza danych NoSQL dla .NET

LiteDB idealnie nadaje się do małych i średnich aplikacji, które nie wymagają obsługi wielu użytkowników jednocześnie. Na przykład świetnie nadaje się do osobistej aplikacji konsolowej, w której chcesz przechowywać dane w prosty i szybki sposób. Opracowany wyłącznie w języku C#, jest lekki, zajmuje mniej niż 450 KB i nie opiera się na zewnętrznych zależnościach.

Kilka dodatkowych punktów, które są wymienione na ich stronie GitHub:

  1. Bezserwerowa baza danych NoSQL
  2. Proste API, podobne do MongoDB
  3. Bezpieczne dla wątków
  4. Napisana w całości w języku C#, biblioteka LiteDB jest kompatybilna z platformami .NET 4.5 oraz NETStandard 1.3/2.0 i spakowana w pojedynczy plik DLL zajmujący mniej niż 450 KB.
  5. ACID z pełną obsługą transakcji
  6. Odzyskiwanie danych po awarii zapisu (plik dziennika WAL)
  7. Szyfrowanie plików danych przy użyciu algorytmu AES
  8. Możesz łatwo mapować swoje klasy Plain Old CLR Objects (POCO) na BsonDocument, używając atrybutów lub płynnego interfejsu API mapującego dostarczanego przez LiteDB.
  9. Przechowywanie plików i przesyłanie strumieniowe danych (podobnie jak GridFS w MongoDB)
  10. Przechowywanie danych w jednym pliku (np. SQLite)
  11. Indeksowanie pól dokumentu w celu szybkiego wyszukiwania
  12. Obsługa zapytań LINQ
  13. Polecenia podobne do SQL służące do uzyskiwania dostępu do danych i ich przekształcania
  14. LiteDB Studio – przyjemny interfejs użytkownika do dostępu do danych
  15. Oprogramowanie open source i bezpłatne dla wszystkich – w tym do użytku komercyjnego

Wprowadzenie do IronPDF: Biblioteka PDF dla C#

LiteDB .NET (Jak to dziala dla deweloperow): Rysunek 2 - Strona internetowa IronPDF

IronPDF, czołowa biblioteka C# do obsługi plików PDF, ułatwia płynne tworzenie, edycję i manipulowanie plikami PDF w projektach .NET. Oferuje kompleksowy interfejs API do zadań takich jak konwersja HTML do PDF, dynamiczne generowanie plików PDF oraz ekstrakcja danych. Wykorzystanie silnika .NET Chromium zapewnia dokładne renderowanie HTML do plików PDF, zaspokajając różnorodne potrzeby projektów w ramach .NET Core, .NET Standard i .NET Framework. IronPDF gwarantuje precyzję, prostotę i wydajność w generowaniu plików PDF z treści HTML, obsługując aplikacje internetowe, desktopowe i konsolowe.

Instalacja biblioteki IronPDF

Aby uruchomić IronPDF w swoim projekcie, zainstaluj bibliotekę za pomocą menedżera pakietów NuGet w programie Visual Studio. Następnie wystarczy wykonać te proste kroki:

  1. Otwórz Visual Studio i przejdź do Eksploratora rozwiązań.
  2. Kliknij prawym przyciskiem myszy na "Dependencies" i wybierz opcję "Manage NuGet Packages".
  3. Wybierz kartę "Przeglądaj" i wyszukaj "IronPDF".
  4. Wybierz IronPDF i kliknij "Zainstaluj".

Alternatywnie, w programie Visual Studio można skorzystać z konsoli menedżera pakietów, aby zainstalować bibliotekę, wykonując następujące polecenie:

PM > Install-Package IronPdf

Przykładowe zastosowanie IronPDF z LiteDB

Oto prosty przykład kodu ilustrujący wykorzystanie IronPDF do generowania pliku PDF z treści HTML, z użyciem instrukcji "using" w celu zapewnienia prawidłowego zwolnienia zasobów. W tym miejscu łączymy funkcjonalność LiteDB i IronPDF, pokazując, jak można wygenerować dane z LiteDB w formacie PDF w celu ich przeglądania:

using LiteDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IronPdf;

class Program
{
    static void Main()
    {
        using (var db = new LiteDatabase(@"MyData.db"))
        {
            // Retrieve the 'products' collection or create it
            var products = db.GetCollection<Product>("products");

            // Add some initial products to the collection
            var productList = new[]
            {
                new Product { Id = 101, Name = "Apple", Price = 0.99m },
                new Product { Id = 102, Name = "Banana", Price = 0.59m },
                new Product { Id = 103, Name = "Orange", Price = 0.79m },
                new Product { Id = 104, Name = "Grape", Price = 2.99m },
                new Product { Id = 105, Name = "Watermelon", Price = 4.99m }
            };

            // Insert products into the LiteDB collection
            foreach (var product in productList)
            {
                products.Insert(product);
            }

            Console.WriteLine("Product inserted successfully.");

            // Fetch all products from the database
            var allProducts = GetAllProducts(db);

            // Generate HTML content from the product list
            string htmlContent = GenerateHtml(allProducts);

            // Generate the PDF from the HTML content
            GeneratePDF(htmlContent);

            Console.WriteLine("PDF generated successfully.");
        }
    }

    public static List<Product> GetAllProducts(LiteDatabase db)
    {
        var products = db.GetCollection<Product>("products");
        return products.FindAll().ToList();
    }

    public static void GeneratePDF(string data)
    {
        // Set your IronPDF license key here
        IronPdf.License.LicenseKey = "Your-License-Key";
        Console.WriteLine("PDF Generating Started...");

        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();
        Console.WriteLine("PDF Processing ....");

        // Render the HTML as a PDF
        var pdf = renderer.RenderHtmlAsPdf(data);

        // Save the PDF to a file
        string filePath = "Data.pdf";
        pdf.SaveAs(filePath);

        Console.WriteLine($"PDF Generation Completed, File Saved as {filePath}");
    }

    public static string GenerateHtml(List<Product> products)
    {
        // Build HTML table from product list
        StringBuilder htmlBuilder = new StringBuilder();
        htmlBuilder.Append("<html><head><style>table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; text-align: left; }</style></head><body>");
        htmlBuilder.Append("<h1>Product List</h1>");
        htmlBuilder.Append("<table><tr><th>ID</th><th>Name</th><th>Price</th></tr>");

        // Add each product row to the HTML table
        foreach (var product in products)
        {
            htmlBuilder.Append($"<tr><td>{product.Id}</td><td>{product.Name}</td><td>{product.Price:C}</td></tr>");
        }

        htmlBuilder.Append("</table></body></html>");
        return htmlBuilder.ToString();
    }
}

Kod łączy się z bazą danych LiteDB, dodaje listę produktów, pobiera wszystkie produkty i generuje reprezentację listy produktów w formacie HTML. Ta zawartość HTML jest następnie wykorzystywana do utworzenia pliku PDF przy użyciu biblioteki IronPDF. Proces obejmuje metody dodawania produktów, pobierania ich, konwersji listy produktów do formatu HTML oraz generowania pliku PDF.

Wynik

LiteDB .NET (Jak to dziala dla deweloperow): Rysunek 3 - Wyjsciowy tekst z konsoli z poprzedniego kodu

Wynik w formacie PDF

LiteDB .NET (Jak to dziala dla deweloperow): Rysunek 4 - Wyjsciowy PDF z poprzedniego kodu

Wnioski

LiteDB oferuje programistom C# lekkie, bezserwerowe rozwiązanie w postaci wbudowanej bazy danych dokumentów, idealne do małych projektów i aplikacji mobilnych, wyposażone w takie funkcje, jak API inspirowane MongoDB, wbudowane bazy danych oraz kompatybilność międzyplatformowa.

Jednocześnie IronPDF staje się wiodącą biblioteką PDF dla języka C#, upraszczającą generowanie i edycję plików PDF w projektach .NET dzięki konwersji HTML na PDF oraz integracji z NuGet. Zarówno LiteDB, jak i IronPDF oferują cenne narzędzia dla programistów, przy czym LiteDB wyróżnia się w zarządzaniu bazami danych, a IronPDF w obsłudze plików PDF.

IronPDF oferuje bezpłatną wersję próbną, która pozwala w pełni wykorzystać jego potencjał w zakresie generowania i edycji plików PDF.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta