IRONSOFTWAREHOME
开发者更新

Sqlite C# .NET(开发者如何使用)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月21日

SQLite 是一个流行的、轻量级的、自包含的关系数据库引擎,被广泛用于各种数据访问应用和环境平台。 在 .NET 开发的背景下,SQLite 源代码是将可靠的数据库解决方案集成到你的系统应用程序中的绝佳选择。 本文将深入探讨 SQLite 事务的世界,探索其特性、优势,以及如何在你的 .NET 项目中有效使用它。

在 C&#35 中使用 SQLite 的方法

  1. 下载 SQLite 库
  2. 创建数据库并插入数据
  3. 使用读取器读取
  4. 使用Entity Framework和 LINQ 查询方法使用 SQLite
  5. 使用 IronPDF 生成 PDF 报告

什么是 SQLite?

SQLite 是一个流行的开源数据库引擎,可以嵌入到应用程序中,无需单独的服务器组件。 它快速、可靠且跨平台。 通过各种提供 ADO.NET 接口的库,可以在 .NET 项目应用中使用 SQLite。 其中一个库是 Microsoft.Data.SQLite。 这使你能够在 .NET 应用程序中使用 SQLite 作为数据源,无论它们是控制台、桌面、Web 或移动应用。你还可以使用Entity Framework核心执行对象关系映射,并使用 LINQ 查询你的 SQLite 数据库。

本文展示了如何使用Microsoft.Data.Sqlite在.NET控制台应用程序中开发、连接和操作SQLite数据库。 你将学习如何:

  • 安装 Microsoft.Data.Sqlite NuGet 包
  • 创建 SQLite 连接并执行 SQL 命令
  • 使用数据读取器和参数创建并填充表
  • 使用数据读取器查询数据
  • 实现Entity Framework核心
  • 使用 LINQ 查询数据
  • 生成 PDF 报告

安装 SQLite 库

要使用 Microsoft.Data.Sqlite,你需要安装包含库及其依赖项的 NuGet 包。 你可以使用 Visual Studio 包管理器、.NET Core CLI 或支持 NuGet 的任何其他工具来执行此操作。 本文将使用包管理器创建一个控制台应用程序并安装 Microsoft.Data.Sqlite。为此,打开包管理器控制台并运行以下命令:

PM > Install-Package Microsoft.Data.Sqlite

上述命令将按如下所示安装软件包。

创建 SQLite 数据库

要使用SQLite数据库,您需要创建一个SqliteConnection对象,该对象代表到数据库文件的连接。您可以在连接字符串中指定文件名和其他选项。 如果文件不存在,它将自动创建。 例如,下面的程序在当前目录中创建一个名为employee.db的数据库文件的连接:

using (var connection = new SqliteConnection("Data Source=employee.db"))
{
    connection.Open();
    // ...
}

using语句确保当连接超出范围时,它会被关闭和处理。 要执行SQL命令,您需要创建一个SqlCommand对象并将其与连接关联。 您可以将Parameters集合中添加参数。 然后,您可以调用ExecuteReader。

在 SQLite 中创建表

以下代码使用ExecuteNonQuery方法创建一个名为Employee的表:

using (var connection = new SqliteConnection("Data Source=employee.db"))
{
    connection.Open();
    var command = connection.CreateCommand();
    command.CommandText = @"CREATE TABLE Employee (
        Id INTEGER PRIMARY KEY,
        FirstName TEXT NOT NULL,
        LastName TEXT NOT NULL,
        Designation TEXT NOT NULL )";
    command.ExecuteNonQuery();
}

插入数据到表中

要将数据插入表中,您可以使用相同的CommandText属性设置为一个INSERT语句。 例如,以下代码将三行插入到 Employee 表中。

using (var connection = new SqliteConnection("Data Source=employee.db"))
{
    var command = connection.CreateCommand();
    StringBuilder builder = new StringBuilder();
    builder.Append("INSERT INTO Employee VALUES(1, 'John', 'Sami', 'CEO');");
    builder.Append("INSERT INTO Employee VALUES(2, 'David', 'Watson', 'Software Engineer');");
    builder.Append("INSERT INTO Employee VALUES(3, 'Victor', 'Khan', 'Content Writer');");
    connection.Open();
    command.CommandText = builder.ToString();
    command.ExecuteNonQuery();
}

从 SQLite 中读取数据

要从表中读取数据,您可以使用CommandText属性设置为一个SELECT语句。 这将返回一个SqliteDataReader对象,使您可以遍历行并通过列名或索引访问值。 您可以使用GetXXX方法以适当的数据类型获取值。 例如,以下代码读取 Employee 表中的所有行并将其打印到控制台:

using (var connection = new SqliteConnection("Data Source=employee.db"))
{
    var command = connection.CreateCommand();
    command.CommandText = @"SELECT * FROM Employee";
    connection.Open();
    using (var reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            var id = reader.GetInt32(0);
            string firstName = reader.GetString(1);
            string lastName = reader.GetString(2);
            string designation = reader.GetString(3);
            Console.WriteLine($"{id}: {firstName} - {lastName} - {designation}");
        }
    }
}

输出

该代码的输出是:

Sqlite C# .NET(如何为开发人员工作):图1 - 输出

查询数据

如果你更喜欢使用 LINQ 查询 SQLite 数据库,则可以使用Entity Framework核心将表映射到类并使用 LINQ 表达式执行查询。 为此,你需要安装 Microsoft.EntityFrameworkCore.Sqlite 包,它依赖于 Microsoft.Data.Sqlite 包。 您还需要创建一个继承自DbContext的类,并表示数据库上下文。 该类必须有一个接受DbContextOptions参数的构造函数,并将其传递给基类构造函数。 它还必须为您希望映射到类的每个表拥有一个DbSet属性。 例如,以下代码定义了一个DatabaseContext类:

using Microsoft.EntityFrameworkCore;
public class Stock
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public string Symbol { get; set; } = string.Empty;
    public double Price { get; set; }
}
public class DatabaseContext : DbContext
{
    public DatabaseContext(DbContextOptions options) : base(options) { }
    public DbSet<Stock> Stock { get; set; }
}

要创建数据库上下文,您需要使用DbContextOptionsBuilder类,并指定连接字符串和数据库提供程序。 如果数据库和表不存在,您还可以使用Database.EnsureCreated方法创建。例如,以下代码创建数据库上下文和数据库:

var optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
optionsBuilder.UseSqlite("Data Source=stock.db");
using (var context = new DatabaseContext(optionsBuilder.Options))
{
    context.Database.EnsureCreated();
}

要将数据插入数据库,您可以使用DbSet属性,并传递您要插入的对象。 您还可以使用SaveChanges方法将更改提交到数据库。 例如,以下代码插入了三个 Stocks 到数据库中:

static void Main(string[] args)
{
    var optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
    optionsBuilder.UseSqlite("Data Source=stock.db");
    using (var context = new DatabaseContext(optionsBuilder.Options))
    {
        context.Database.EnsureCreated();
        var stock = new List<Stock> {
            new Stock { Id = 1, Name = "NCR", Symbol = "$$", Price = 5.6 },
            new Stock { Id = 2, Name = "Google", Symbol = "GG", Price = 10.6 },
            new Stock { Id = 3, Name = "Apple", Symbol = "AA", Price = 3.6 }
        };
        context.AddRange(stock);
        context.SaveChanges();
    }
}

要查询数据,您可以在DbSet属性上使用LINQ方法或表达式,应用过滤、投影、聚合和其他操作。 这些查询将被翻译成 SQL 语句并在数据库上执行。 例如,以下代码查询价格低于六美元的股票,并打印它们的名称:

using (var context = new DatabaseContext(optionsBuilder.Options))
{
    var cheapStocks = context.Stock.Where(p => p.Price < 6).Select(p => p.Name);
    Console.WriteLine("Stock Less than $6 are:");
    foreach (string stock in cheapStocks)
    {
        Console.WriteLine(stock);
    }
}

假设我们有一个需要创建包含股票列表的 PDF 文件的场景。 我们可以轻松地通过使用 IronPDF 来实现。

IronPDF 简介

IronPDF 是一个帮助你在 .NET 应用程序中创建、编辑和读取 PDF 文件的库,无需多个软件包。 它可以从 HTML、URL、JavaScript、CSS 和许多图像格式生成 PDF,还可以添加页眉、页脚、签名、附件和密码。 它还支持跨平台兼容性、多线程和异步支持。

IronPDF 的 HTML 至 PDF 功能 是其主要亮点,保留所有布局和样式。 它从网页内容生成 PDF,非常适合报告、发票和文档。 您可以无缝地将 HTML 文件、URL 和 HTML 字符串转换为 PDF。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

安装IronPDF

要在项目中安装 IronPDF,在包管理器控制台中键入以下命令。

PM > Install-Package IronPdf

此命令将安装 IronPDF 及其所有依赖项。

添加许可证密钥

IronPDF 需要许可证密钥才能使用。 我们可以轻松地从 IronPDF 试用许可证页面 获得试用许可证密钥。

在使用 IronPDF 之前,将此代码添加到应用程序的启动中。 这种方法普遍有效且简单,适用于 .NET Core 和 .NET Framework 应用程序。

IronPdf.License.LicenseKey = "IRONSUITE.ABC.XYZ.MYCOMPANY.COM.ABC-DEPLOYMENT.TRIAL-P45MXL.TRIAL.EXPIRES.31.JAN.2028";

创建包含股票列表的 PDF 文件

此 C# 代码从存储在 SQLite 数据库中的股票数据生成 PDF 报告。 它动态创建 HTML 表,将其信息填充到股票信息中,并使用基于 Chrome 的 PDF 渲染器将表转换为可下载的 "stock.pdf" 文件,简化了股票详细信息的报告和传输。

var optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
optionsBuilder.UseSqlite("Data Source=stock.db");
StringBuilder builder = new StringBuilder();
string style="<!DOCTYPE html>\r\n<html>\r\n<head>\r\n<style>\r\n#stock {\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  border-collapse: collapse;\r\n  width: 100%;\r\n}\r\n\r\n#stock td, #stock th {\r\n  border: 1px solid #ddd;\r\n  padding: 8px;\r\n}\r\n\r\n#stock tr:nth-child(even){background-color: #f2f2f2;}\r\n\r\n#stock tr:hover {background-color: #ddd;}\r\n\r\n#stock th {\r\n  padding-top: 12px;\r\n  padding-bottom: 12px;\r\n  text-align: left;\r\n  background-color: #04AA6D;\r\n  color: white;\r\n}\r\n</style>\r\n</head>\r\n<body>\r\n\r\n<h1>A Stock Table</h1>";
builder.Append(style);
builder.Append("<table id=\"stock\"><tr><td>Stock Symbol</td><td>Stock Name</td><td>Stock Price</td></tr>");
using (var context = new DatabaseContext(optionsBuilder.Options))
{
    var stocks = context.Stock;
    foreach (Stock stock in stocks)
    {
        builder.Append($"<tr><td>{stock.Symbol}</td><td>{stock.Name}</td><td>{stock.Price}</td></tr>");
    }
}
builder.Append("</table></body></html>");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(builder.ToString());
pdf.SaveAs("stock.pdf");

上述 C# 代码片段旨在创建一个显示 SQLite 数据库中股票信息的 HTML 表,并随后将其转换为 PDF 文件。它使用Entity Framework核心库来与数据库交互。 最初,它配置一个DbContextOptionsBuilder以使用具有特定连接字符串的SQLite。 然后代码构造了包含嵌入表外观 CSS 样式的 HTML 字符串,创建了具有头部的表结构,查询 SQLite 数据库以获取股票信息,并使用检索到的数据填充 HTML 表,最后利用基于 Chrome 的 PDF 渲染器将 HTML 内容转换为名为 "stock.pdf" 的 PDF 文件。生成的 PDF 将包含一张显示股票符号、名称和价格的表格。

输出形式如下

Sqlite C# .NET(如何为开发人员工作):图2 - 库存表输出

结论

总之,在 .NET 中利用 SQLite 进行数据库管理提供了一种轻量且多功能的解决方案。 本文探讨了 SQLite 在 .NET 应用程序中的集成,展示了其关键特性和优势。 提供的代码演示了在 .NET 控制台应用中创建、连接和操作 SQLite 数据库的实际步骤。 此外,还强调了 Microsoft.Data.Sqlite 和Entity Framework核心在高效数据处理中的应用。 IronPDF 的集成展示了如何无缝地从 SQLite 数据库 生成 PDF 报告,增强应用程序在报告和数据分发方面的能力。

IronPDF 提供了多种 许可选项,取决于开发人员数量、地点、项目和再分发需求。 许可证是永久的,并包括一年的免费支持和更新。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起