IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

LiteDB .NET (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

LiteDB é um banco de dados de documentos .NET incorporado, simples, rápido e leve. O LiteDB .NET foi inspirado no banco de dados MongoDB e sua API é muito semelhante à API oficial do MongoDB for .NET . O LiteDB é um banco de dados sem servidor que funciona bem para projetos pequenos e aplicativos móveis.

Este artigo fornecerá instruções precisas sobre como utilizar os recursos do LiteDB em seus projetos. Também introduzimos o uso do IronPDF, uma biblioteca .NET feita pela Iron Software, para gerar e manipular PDFs e como você pode empregá-la para exportar o conteúdo de um banco de dados LiteDB como um PDF para visualização e compartilhamento.

Principais características do LiteDB

  1. Banco de dados embutido: Não há necessidade de um servidor separado. O LiteDB é executado dentro do processo da sua aplicação.
  2. Arquivo de dados único: Você pode armazenar todos os seus dados em um único arquivo de banco de dados, simplificando a implantação e o backup.
  3. Formato BSON: Utiliza o formato BSON para armazenamento, garantindo operações rápidas de leitura e gravação.
  4. Suporte a LINQ: Oferece suporte completo a LINQ para consultas, tornando-o intuitivo para desenvolvedores .NET .
  5. Transações ACID: Garante a integridade dos dados com suporte para transações ACID.
  6. Multiplataforma: Funciona no Windows, Linux e macOS.

Configurando o LiteDB em projetos .NET

Abra seu projeto no Visual Studio. Em seguida, no Solution Explorer, clique com o botão direito do mouse no seu projeto e escolha "Gerenciar Pacotes NuGet ". Procure por LiteDB e instale-o para incorporar essa solução de banco de dados ao seu projeto sem esforço.

Alternativamente, você pode instalá-lo usando o Console do Gerenciador de Pacotes. Para instalar o LiteDB no Console do Gerenciador de Pacotes NuGet , use o seguinte comando:

PM > Install-Package LiteDB

Primeiros passos com o LiteDB

Após a instalação, você poderá começar a usar o LiteDB em sua aplicação. Vejamos alguns exemplos para ilustrar sua utilização.

Exemplo 1: Criando e inserindo dados

Primeiro, vamos criar uma classe Product simples para representar nossos dados:

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

Em seguida, criaremos um banco de dados e inseriremos alguns produtos:

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.");
        }
    }
}

Descrição do código

O código inicializa uma conexão com um banco de dados LiteDB chamado "MyData.db" e recupera uma coleção chamada "products". Em seguida, ele cria um array de objetos Product com várias propriedades, como ID, Nome e Preço. Cada produto no array é inserido na coleção "products" dentro do banco de dados. Após inserir todos os produtos com sucesso, uma mensagem de confirmação é impressa no console.

O resultado é o seguinte:

LiteDB .NET (Como Funciona Para Desenvolvedores): Figura 1 - Saída do console do código anterior

Exemplo: Simplificação da gestão de dados do usuário

Imagine que você está desenvolvendo um aplicativo móvel para gerenciar contas de usuários. Cada usuário possui um perfil contendo seu nome, endereço de e-mail, preferências (armazenadas como um objeto JSON) e uma lista de itens favoritos. Veja como o LiteDB .NET pode simplificar o armazenamento de seus dados:

Este código define uma classe User para representar dados do usuário e uma classe UserManager para gerenciar operações do usuário em um banco de dados 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);
    }
}

Essa implementação aproveita de forma eficaz os recursos do LiteDb.NET para gerenciamento de dados do usuário. A classe User armazena informações do usuário, enquanto a classe UserManager fornece métodos para salvar, recuperar, atualizar e excluir usuários dentro do banco de dados.

LiteDB, banco de dados NoSQL incorporado para .NET

O LiteDB é perfeito para aplicações de pequeno a médio porte que não exigem muita concorrência por parte dos usuários. Por exemplo, é ótimo para um aplicativo de console pessoal onde você deseja armazenar dados de forma simples e rápida. Desenvolvido inteiramente em C#, é leve, ocupa menos de 450 KB e não depende de dependências externas.

Mais alguns pontos, que estão listados na página deles no GitHub :

  1. Armazenamento de documentos NoSQL sem servidor
  2. API simples, semelhante à do MongoDB.
  3. À prova de roscas
  4. Escrito inteiramente em C#, o LiteDB é compatível com .NET 4.5, .NET Standard 1.3/2.0, e está empacotado em um único arquivo DLL que ocupa menos de 450 KB.
  5. ACID com suporte completo a transações
  6. Recuperação de dados após falha de gravação (arquivo de log WAL)
  7. Criptografia de arquivos de dados usando criptografia AES
  8. Você pode mapear facilmente suas classes Plain Old CLR Objects (POCO) para BsonDocument usando atributos ou a API de mapeamento fluente fornecida pelo LiteDB.
  9. Armazenar arquivos e transmitir dados (como o GridFS no MongoDB)
  10. Armazenamento de arquivo de dados único (como o SQLite)
  11. Indexar campos do documento para pesquisa rápida
  12. Suporte LINQ para consultas
  13. Comandos semelhantes a SQL para acessar/transformar dados
  14. LiteDB Studio – Interface amigável para acesso a dados
  15. Código aberto e gratuito para todos – inclusive para uso comercial.

Introdução ao IronPDF: Uma Biblioteca PDF em C#

LiteDB .NET (Como Funciona Para Desenvolvedores): Figura 2 - Página da web IronPDF

IronPDF , uma biblioteca C# de PDF de primeira linha, facilita a criação , edição e manipulação de PDFs em projetos .NET . Oferece uma API abrangente para tarefas como conversão de HTML para PDF , geração dinâmica de PDFs e extração de dados. A utilização de um mecanismo Chromium for .NET garante a renderização precisa de HTML em arquivos PDF, atendendo às diversas necessidades de projetos em .NET Core, .NET Standard e .NET Framework. O IronPDF garante precisão, simplicidade e eficiência na geração de PDFs a partir de conteúdo HTML, com suporte para aplicativos web, desktop e console.

Instalando a biblioteca IronPDF

Para iniciar o IronPDF em seu projeto, instale a biblioteca através do Gerenciador de Pacotes NuGet no Visual Studio. Em seguida, basta seguir estes passos simples:

  1. Abra o Visual Studio e navegue até o Solution Explorer.
  2. Clique com o botão direito do mouse em Dependências e selecione a opção "Gerenciar Pacotes NuGet ".
  3. Escolha a aba "Browse" e pesquise por "IronPDF."
  4. Selecione IronPDF e clique em "Instalar".

Alternativamente, no Visual Studio, você pode utilizar o Console do Gerenciador de Pacotes para instalar a biblioteca executando o seguinte comando:

PM > Install-Package IronPdf

Exemplo de uso do IronPDF com LiteDB

Aqui está um exemplo de código simples que ilustra o uso do IronPDF para gerar um PDF a partir de conteúdo HTML, empregando a instrução 'using' para garantir o descarte adequado de recursos. Aqui, combinamos as funcionalidades do LiteDB e do IronPDF , mostrando como você pode exportar os dados de um arquivo LiteDB para um PDF para visualização:

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();
    }
}

O código se conecta a um banco de dados LiteDB, adiciona uma lista de produtos, recupera todos os produtos e gera uma representação HTML da lista de produtos. Esse conteúdo HTML é então usado para criar um arquivo PDF utilizando a biblioteca IronPDF . O processo inclui métodos para adicionar produtos, buscá-los, converter a lista de produtos em HTML e gerar o PDF.

Saída

LiteDB .NET (Como Funciona Para Desenvolvedores): Figura 3 - Saída do console do código anterior

Saída em formato PDF

LiteDB .NET (Como Funciona Para Desenvolvedores): Figura 4 - PDF gerado do código anterior

Conclusão

O LiteDB oferece aos desenvolvedores C# uma solução de banco de dados de documentos incorporada, leve e sem servidor, ideal para projetos pequenos e aplicativos móveis, com recursos como API inspirada no MongoDB, bancos de dados incorporados e compatibilidade multiplataforma.

Simultaneamente, o IronPDF surge como uma biblioteca C# de PDF de primeira linha, simplificando a geração e manipulação de PDFs em projetos .NET com sua conversão de HTML para PDF e integração com o NuGet . Tanto o LiteDB quanto o IronPDF oferecem ferramentas valiosas para desenvolvedores, com o LiteDB se destacando no gerenciamento de bancos de dados e o IronPDF no processamento de PDFs.

O IronPDF oferece um período de teste gratuito para que você possa explorar todo o seu potencial na geração e manipulação de PDFs.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.