// 用户实体类 publicclassUser { publicint Id { get; set; } publicstring Name { get; set; } publicint Age { get; set; } }
基本集合创建
publicclassCollectionManagement { publicvoidBasicCollectionOperations() { // 创建或打开数据库 using (var db = new LiteDatabase(@"MyDatabase.db")) { // 获取或创建集合(类似于表) var users = db.GetCollection<User>("users");
// 插入单个文档 var user = new User { Id = 1, Name = "张三", Age = 30 }; users.Insert(user);
// 批量插入 var userList = new List<User> { new User { Id = 2, Name = "李四", Age = 25 }, new User { Id = 3, Name = "王五", Age = 35 } }; users.InsertBulk(userList); } } }
高级集合操作
publicvoidAdvancedCollectionOperations() { using (var db = new LiteDatabase(@"MyDatabase.db")) { var users = db.GetCollection<User>("users");
// 更新文档 var user = users.FindById(1); user.Age = 31; users.Update(user);
// 条件查询 var youngUsers = users.Find(x => x.Age < 30);
// 删除文档 users.DeleteMany(x => x.Name == "王五");
// 文档计数 var totalUsers = users.Count(); } }
索引策略
publicvoidIndexManagement() { using (var db = new LiteDatabase(@"MyDatabase.db")) { var users = db.GetCollection<User>("users");
publicvoidPerformanceOptimization() { using (var db = new LiteDatabase(@"MyDatabase.db")) { // 使用事务进行批量操作 var trans = db.BeginTrans();
var users = db.GetCollection<User>("users");
// 大量数据插入 var largeUserList = GenerateLargeUserList(); users.InsertBulk(largeUserList);
db.Commit();
} }
// 模拟生成大量用户数据 private List<User> GenerateLargeUserList() { return Enumerable.Range(1, 10000) .Select(i => new User { Id = i, Name = $"User_{i}", Age = new Random().Next(18, 60) }) .ToList(); }
3.2 查询优化
publicvoidQueryOptimization() { using (var db = new LiteDatabase(@"MyDatabase.db")) { var users = db.GetCollection<User>("users");