Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
LiteDB est une base de données documentaire .NET intégrée, simple, rapide et légère. LiteDB .NET a été inspiré par la base de données MongoDB et son API est très similaire à l'API .NET officielle de MongoDB. LiteDB est une base de données sans serveur qui fonctionne bien pour les petits projets et les applications mobiles.
Cet article vous fournira des instructions précises sur l'utilisation des capacités de LiteDB dans vos projets. Nous introduisons également l'utilisation d'IronPDF, une bibliothèque .NET faite par IronSoftware, pour générer et manipuler des PDF et comment vous pouvez l'utiliser pour sortir le contenu d'une base de données LiteDB en tant que PDF pour la visualisation et le partage.
Base de données intégrée: Pas besoin d'un serveur séparé. LiteDB fonctionne dans le processus de votre application.
Fichier de données unique: Vous pouvez stocker toutes vos données dans une base de données à fichier unique, ce qui simplifie le déploiement et la sauvegarde.
Format BSON: Utilise le format BSON pour le stockage, ce qui garantit des opérations de lecture et d'écriture rapides.
Prise en charge de LINQ: Prise en charge complète de LINQ pour l'interrogation, ce qui la rend intuitive pour les développeurs .NET.
Transactions ACID: Garantit l'intégrité des données grâce à la prise en charge des transactions ACID.
Ouvrez votre projet dans Visual Studio. Ensuite, dans l'explorateur de solutions, faites un clic droit sur votre projet et choisissez "Gérer les paquets NuGet" Recherchez LiteDB et installez-le pour incorporer cette solution de base de données dans votre projet sans effort.
Vous pouvez également l'installer à l'aide de la console du gestionnaire de paquets. Pour installer LiteDB dans la console du gestionnaire de paquets NuGet, utilisez la commande suivante :
Install-Package LiteDB
Install-Package LiteDB
IRON VB CONVERTER ERROR developers@ironsoftware.com
Une fois installé, vous pouvez commencer à utiliser LiteDB dans votre application. Voyons quelques exemples pour illustrer son utilisation.
Tout d'abord, créons une simple classe de produit pour représenter nos données :
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Ensuite, nous allons créer une base de données et y insérer des produits :
using LiteDB;
using System;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
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 }
};
foreach (var product in productList)
{
products.Insert(product);
}
Console.WriteLine("Product inserted successfully.");
}
}
}
using LiteDB;
using System;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
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 }
};
foreach (var product in productList)
{
products.Insert(product);
}
Console.WriteLine("Product inserted successfully.");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Le code initialise une connexion à une base de données LiteDB nommée "MyData.db" et récupère une collection appelée "produits". Il crée ensuite un tableau d'objets Produit avec diverses propriétés, telles que l'ID, le nom et le prix. Chaque produit du tableau est inséré dans la collection "produits" de la base de données. Après avoir inséré avec succès tous les produits, un message de confirmation s'affiche sur la console.
La sortie est la suivante :
Imaginez que vous développiez une application mobile qui gère les comptes d'utilisateurs. Chaque utilisateur dispose d'un profil contenant son nom, son adresse électronique, ses préférences(stocké sous forme d'objet JSON)et une liste d'articles préférés. Voici comment LiteDb.NET peut simplifier votre stockage de données :
Ce code définit une classe User pour représenter les données de l'utilisateur et une classe UserManager pour gérer les opérations de l'utilisateur dans une base de données LiteDb.NET
using LiteDB;
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);
}
}
using LiteDB;
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);
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Cette mise en œuvre exploite efficacement les capacités de LiteDb.NET pour la gestion des données des utilisateurs. La classe User stocke les informations relatives aux utilisateurs, tandis que la classe UserManager fournit des méthodes permettant d'enregistrer, de récupérer, de mettre à jour et de supprimer des utilisateurs dans la base de données.
LiteDB est parfait pour les applications de petite et moyenne taille qui ne nécessitent pas de concurrence de la part de l'utilisateur. Par exemple, elle est idéale pour une application de console personnelle dans laquelle vous souhaitez stocker des données de manière simple et rapide. Développé uniquement en C#, il est léger, occupe moins de 450 Ko et ne s'appuie pas sur des dépendances externes.
Quelques points supplémentaires, qui sont énumérés sur leurPage GitHub:
Magasin de documents NoSQL sans serveur
API simple, similaire à MongoDB
Sécurité des fils
Écrit entièrement en C#, LiteDB est compatible avec .NET 4.5, NETStandard 1.3/2.0, emballé dans un seul fichier DLL qui occupe moins de 450KB.
ACID avec prise en charge complète des transactions
Récupération des données après un échec d'écriture(Fichier journal WAL)
Cryptage des fichiers de données à l'aide de DES(AES) cryptographie
Vous pouvez facilement mapper vos vieux objets CLR(POCO) vers BsonDocument en utilisant soit des attributs, soit l'API fluent mapper fournie par LiteDB.
Stocker des fichiers et des données en continu(comme GridFS dans MongoDB)
Indexation des champs du document pour une recherche rapide
Commandes de type SQL pour accéder aux données et les transformer
IronPDFc#, une bibliothèque PDF de premier plan, facilite la mise en place d'un système de gestion des PDF en C#création,éditionetmanipulation des PDF dans les projets .NET. Il offre une API complète pour des tâches telles queHTML à PDF la conversion, la génération de PDF dynamiques et l'extraction de données. L'utilisation d'un moteur .NET Chromium, assure un rendu précis du HTML dans les fichiers PDF, répondant aux divers besoins des projets à travers .NET Core, .NET Standard, et .NET Framework. IronPDF garantit la précision, la simplicité et l'efficacité de la génération de PDF à partir de contenu HTML, avec une prise en charge des applications Web, de bureau et de console,
Pour lancer IronPDF dans votre projet, installez la bibliothèque via le gestionnaire de paquets NuGet dans Visual Studio. Il vous suffit ensuite de suivre les étapes suivantes :
Ouvrez Visual Studio et accédez à l'explorateur de solutions.
Faites un clic droit sur Dependencies et sélectionnez l'option "Manage NuGet Packages".
Choisissez l'onglet "Parcourir" et recherchez "IronPDF"
Sélectionnez l'IronPDF et cliquez sur "Installer"
Sinon, dans Visual Studio, vous pouvez utiliser la console du gestionnaire de paquets pour installer la bibliothèque en exécutant la commande suivante :
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
Voici un exemple de code simple illustrant l'utilisation d'IronPDF pour générer un PDF à partir d'un contenu HTML, en utilisant l'instruction "using" pour garantir une élimination correcte des ressources. Ici, nous combinons les fonctionnalités de LiteDB et d'IronPDF en montrant comment vous pouvez sortir les données d'une LiteDB sous forme de PDF à des fins de visualisation :
using DemoLiteDB1;
using LiteDB;
using System.Text;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
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 }
};
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)
{
IronPdf.License.LicenseKey = "Your-License-Key";
Console.WriteLine("PDF Generating Started...");
var renderer = new ChromePdfRenderer();
Console.WriteLine("PDF Processing ....");
var pdf = renderer.RenderHtmlAsPdf(data);
string filePath = "Data.pdf";
pdf.SaveAs(filePath);
Console.WriteLine($"PDF Generation Completed, File Saved as {filePath}");
}
public static string GenerateHtml(List<Product> products)
{
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>");
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();
}
}
using DemoLiteDB1;
using LiteDB;
using System.Text;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
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 }
};
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)
{
IronPdf.License.LicenseKey = "Your-License-Key";
Console.WriteLine("PDF Generating Started...");
var renderer = new ChromePdfRenderer();
Console.WriteLine("PDF Processing ....");
var pdf = renderer.RenderHtmlAsPdf(data);
string filePath = "Data.pdf";
pdf.SaveAs(filePath);
Console.WriteLine($"PDF Generation Completed, File Saved as {filePath}");
}
public static string GenerateHtml(List<Product> products)
{
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>");
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();
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Le code se connecte à une base de données LiteDB, ajoute une liste de produits, récupère tous les produits et génère une représentation HTML de la liste de produits. Ce contenu HTML est ensuite utilisé pour créer un fichier PDF à l'aide de la bibliothèque IronPDF. Le processus comprend des méthodes pour ajouter des produits, les récupérer, convertir la liste des produits en HTML et générer le PDF.
LiteDB présente aux développeurs C# une solution de base de données documentaire embarquée, légère et sans serveur, idéale pour les petits projets et les applications mobiles, bénéficiant de fonctionnalités telles que l'API inspirée de MongoDB, les bases de données embarquées et la compatibilité multiplateforme.
Simultanément,IronPDF s'impose comme une bibliothèque PDF C# de premier plan, simplifiant la génération et la manipulation de PDF au sein des projets .NET grâce à sa conversion HTML en PDF et à l'intégration de NuGet. LiteDB et IronPDF offrent tous deux des outils précieux aux développeurs, LiteDB excellant dans la gestion des bases de données et IronPDF dans la gestion des PDF.
IronPDF fournitun essai gratuit pour exploiter tout son potentiel en matière de génération et de manipulation de PDF.
9 produits de l'API .NET pour vos documents de bureau