C#使用Sqlite

一、引用对应的包

EntityFramework
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Tools

二、创建一个对应的类

创建ApplicationDbContext,实现接口DbContext,并实现里面的方法

public class ApplicationDbContext:DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
       
    }

}

三、注册对应的模型和创建数据库文件

public class ApplicationDbContext:DbContext
{
    public DbSet<User> userModels { set; get; }

    public DbSet<Endpoint> Endpoint { set; get; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {

        string baseDir = AppDomain.CurrentDomain.BaseDirectory;

        // 创建子目录路径
        string databaseDir = Path.Combine(baseDir, "AppData");

        // 如果目录不存在,则创建它
        if (!Directory.Exists(databaseDir))
        {
            Directory.CreateDirectory(databaseDir);
        }

        // 组合数据库文件的完整路径
        string dbPath = Path.Combine(databaseDir, "AppDatas2.db");
        string path = $"Data Source={dbPath}";

        optionsBuilder.UseSqlite(path);
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>().HasKey(e=>e.Id);
        modelBuilder.Entity<Endpoint>().HasKey(e => e.ID);
        base.OnModelCreating(modelBuilder);
    }

}

如果又增加了几个模型,那么就要删除创建出来的数据库文件或者更改路径

在对应的初始化类里添加这个方法并调用,防止数据库文件没有被调用

private static void EnsureDatabaseCreated()
{
    using (var db = new ApplicationDbContext())
    {
        // 确保数据库已经被创建
        db.Database.EnsureCreated();
    }
}
C#使用SQLite数据库可以通过多种方式实现,其中最常用的方法是使用System.Data.SQLite或Microsoft.Data.Sqlite等库。以下是使用System.Data.SQLite库的基本步骤: 1. **安装库**: 首先,需要在项目中安装System.Data.SQLite库。可以通过NuGet包管理器来安装。在Visual Studio中,右键点击项目,选择“管理NuGet程序包”,然后搜索“System.Data.SQLite”并安装。 2. **引用命名空间**: 在代码文件中引用必要的命名空间: ```csharp using System; using System.Data.SQLite; ``` 3. **创建数据库连接**: 创建一个SQLite数据库连接字符串,并使用该字符串创建连接对象。 ```csharp string connectionString = "Data Source=example.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); // 执行数据库操作 } ``` 4. **执行SQL命令**: 可以使用SQLiteCommand对象来执行SQL语句。 ```csharp using (var command = new SQLiteCommand(connection)) { command.CommandText = "CREATE TABLE IF NOT EXISTS Users (Id INTEGER PRIMARY KEY, Name TEXT)"; command.ExecuteNonQuery(); } ``` 5. **插入数据**: 使用参数化查询来插入数据,避免SQL注入攻击。 ```csharp using (var command = new SQLiteCommand(connection)) { command.CommandText = "INSERT INTO Users (Name) VALUES (@name)"; command.Parameters.AddWithValue("@name", "John Doe"); command.ExecuteNonQuery(); } ``` 6. **查询数据**: 使用SQLiteDataReader来读取查询结果。 ```csharp using (var command = new SQLiteCommand(connection)) { command.CommandText = "SELECT * FROM Users"; using (var reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}"); } } } ``` 通过以上步骤,你可以在C#使用SQLite数据库进行基本的数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值