.NET 帮助 LiteDB .NET(开发者用法) Jacob Mellor 已更新:2025年7月28日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 LiteDB 是一个简单、快速且轻量级的嵌入式 .NET 文档数据库。 LiteDB .NET 受 MongoDB 数据库启发,其 API 与 MongoDB 的官方 .NET API 非常相似。 LiteDB 是一个无服务器数据库,非常适合小型项目和移动应用程序。 本文将为您提供准确的说明,帮助您在项目中利用 LiteDB 的功能。 我们还介绍了 IronPDF 的使用,这是由 Iron Software 开发的 .NET 库,用于生成和操作 PDF,您可以使用它将 LiteDB 数据库内容输出为 PDF 以便查看和共享。 LiteDB 的主要特性 嵌入式数据库:不需要单独的服务器。 LiteDB 在您的应用程序进程内运行。 单一数据文件:您可以将所有数据存储在一个单文件数据库中,简化部署和备份。 BSON 格式:使用 BSON 格式进行存储,确保快速读写操作。 LINQ 支持:完全支持 LINQ 查询,使 .NET 开发人员更直观。 ACID 事务:通过支持 ACID 事务确保数据完整性。 跨平台:支持 Windows、Linux 和 macOS。 在 .NET 项目中设置 LiteDB 在 Visual Studio 中打开你的项目。 然后,在解决方案资源管理器中,右键单击您的项目并选择"管理 NuGet 包"。搜索 LiteDB 并安装它,将此数据库解决方案轻松集成到您的项目中。 或者,您可以通过使用包管理器控制台进行安装。 要在 NuGet 包管理器控制台中安装 LiteDB,请使用以下命令: Install-Package LiteDB 开始使用 LiteDB 安装完成后,您可以在应用程序中开始使用 LiteDB。 让我们通过一些示例来说明其用法。 示例 1:创建和插入数据 首先,让我们创建一个简单的Product类来表示我们的数据: 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; } } $vbLabelText $csharpLabel 接下来,我们将创建一个数据库并插入一些产品: 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."); } } } 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."); } } } $vbLabelText $csharpLabel 代码描述 代码初始化与名为"MyData.db"的LiteDB数据库的连接,并检索名为"products"的集合。然后,它创建一个包含各种属性(如ID、Name和Price)的Product对象数组。数组中的每个产品都插入到数据库内的"products"集合中。 成功插入所有产品后,它会在控制台上打印确认消息。 输出如: 示例:优化用户数据管理 假设您正在开发一个管理用户帐户的移动应用程序。 每个用户都有一个包含其姓名、电子邮件地址、偏好(存储为 JSON 对象)和收藏项目列表的资料。 以下是 LiteDb.NET 如何简化您的数据存储: 该代码定义了一个UserManager类用于管理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); } } 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); } } $vbLabelText $csharpLabel 此实现有效利用 LiteDb.NET 的功能来管理用户数据。 UserManager类则提供在数据库中保存、检索、更新和删除用户的方法。 LiteDB, 为 .NET 提供的嵌入式 NoSQL 数据库 LiteDB 非常适合不需要用户并发的小型到中型应用程序。 例如,它非常适合个人控制台应用程序,您希望简单快捷地存储数据。 完全用 C# 开发,轻量级,占用小于 450KB,并且不依赖外部依赖项。 一些更多的要点,列在他们的GitHub 页面上: 无服务器 NoSQL 文档存储 类似于 MongoDB 的简单 API 线程安全 完全用 C# 编写,LiteDB 与 .NET 4.5、NETStandard 1.3/2.0 兼容,打包成一个小于 450KB 的单个 DLL 文件。 支持完整事务的 ACID 写入失败后的数据恢复(WAL 日志文件) 使用 AES 加密技术进行数据文件加密 您可以使用 LiteDB 提供的属性或流畅映射 API,轻松将您简单的旧 CLR 对象(POCO)类映射到 BsonDocument。 存储文件和流数据(如 MongoDB 中的 GridFS) 单一数据文件存储(如 SQLite) 为快速搜索索引文档字段 用于查询的 LINQ 支持 访问/转换数据的类 SQL 命令 LiteDB Studio – 用于数据访问的优秀 UI 开源且对所有人免费 – 包括用于商业用途 介绍 IronPDF:C# PDF 库 IronPDF,一个首屈一指的 C# PDF 库,方便无缝地在 .NET 项目中创建、编辑和操作 PDF。 它为HTML 到 PDF转换、动态 PDF 生成和数据提取等任务提供了全面的 API。 利用 .NET Chromium 引擎确保准确地将 HTML 渲染为 PDF 文件,满足 .NET Core、.NET Standard 和 .NET Framework 的多样化项目需求。 IronPDF 保证从 HTML 内容生成 PDF 的精确性、简便性和效率,支持网页、桌面和控制台应用。 安装 IronPDF 库 要在项目中启动 IronPDF,请通过 Visual Studio 中的 NuGet 包管理器安装该库。 然后只需遵循以下简单步骤: 打开 Visual Studio 并导航到解决方案资源管理器。 右键单击依赖项并选择"管理 NuGet 包"选项。 选择"浏览"选项卡并搜索"IronPDF"。 选择 IronPDF 并点击"安装"。 或者,在 Visual Studio 中,您可以使用包管理器控制台通过以下命令安装库: Install-Package IronPdf IronPDF 与 LiteDB 的示例用法 这里是一个简单的代码示例,说明如何使用 IronPDF 从 HTML 内容生成 PDF,使用 'using' 语句确保正确的资源释放。 我们将 LiteDB 和 IronPDF 的功能结合起来,展示如何将 LiteDB 中的数据输出为 PDF 以供查看: 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(); } } 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(); } } $vbLabelText $csharpLabel 该代码连接到一个 LiteDB 数据库,添加一个产品列表,检索所有产品,并生成产品列表的 HTML 表示。然后,该 HTML 内容用于使用 IronPDF 库创建一个 PDF 文件。 该过程包括添加产品、获取产品、将产品列表转换为 HTML 和生成 PDF 的方法。 输出 PDF 文件输出 结论 LiteDB 为 C# 开发人员提供了一个轻量级、无服务器嵌入式文档数据库解决方案,理想用于小型项目和移动应用程序,具有 MongoDB 启发的 API、嵌入式数据库和跨平台兼容性等特性。 同时,IronPDF作为首屈一指的 C# PDF 库出现,在 .NET 项目中通过 HTML 到 PDF 转换和 NuGet 集成简化 PDF 的生成和操作。 LiteDB 和 IronPDF 都为开发人员提供了有价值的工具,LiteDB 在数据库管理中表现出色,而 IronPDF 在 PDF 处理方面表现突出。 IronPDF 提供免费试用以释放其在 PDF 生成和操作中的全部潜力。 常见问题解答 如何将 HTML 内容转换为 C# 中的 PDF? 您可以使用IronPDF在C#中将HTML内容转换为PDF。该库提供了RenderHtmlAsPdf等方法,它允许将HTML字符串转换为PDF文档。 将LiteDB集成到.NET项目的最佳方法是什么? 要将LiteDB集成到.NET项目中,可以使用Visual Studio中的NuGet包管理器来安装LiteDB。这使您能够使用C#直接在应用程序中管理数据库。 我如何从LiteDB数据生成PDF? 要从LiteDB数据生成PDF,可以使用IronPDF。通过从LiteDB中提取数据并使用IronPDF的功能渲染,您可以创建PDF文档用于报告或共享目的。 我可以使用IronPDF在C#中操作现有的PDF文件吗? 是的,可以使用IronPDF操作现有的PDF文件。它提供了编辑、合并和从PDF中提取内容的功能,可以在C#应用程序中使用。 LiteDB可以用于移动应用程序吗? 是的,LiteDB特别适合于移动应用程序,因为它具有轻量级、无服务器的特性,并且能够在一个单一文件中存储数据。 LiteDB集成的一些常见故障排除步骤是什么? LiteDB集成的常见故障排除步骤包括检查通过NuGet的正确安装,确保您的数据库文件路径可访问,并确认项目的.NET版本与LiteDB兼容。 如何使用LiteDB确保数据完整性? LiteDB支持ACID事务,这可确保数据的完整性和可靠性。您可以使用事务来维护一致性并处理并发数据修改。 在.NET中使用IronPDF进行PDF生成的好处是什么? IronPDF提供了易于HTML到PDF转换、高精度渲染和全面PDF操作功能等好处,使其成为在.NET应用程序中生成和处理PDF的理想工具。 Jacob Mellor 立即与工程团队聊天 首席技术官 Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。Jacob 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。 相关文章 已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多 已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新2025年12月20日 C# String Equals(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 RestEase C#(开发者用法)FireSharp C#(开发者如何使用)
已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多
已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多