// 用戶實(shí)體類 publicclassUser { publicint Id { get; set; } publicstring Name { get; set; } publicint Age { get; set; } }
基本集合創(chuàng)建
publicclassCollectionManagement { publicvoidBasicCollectionOperations() { // 創(chuàng)建或打開數(shù)據(jù)庫(kù) using (var db = new LiteDatabase(@"MyDatabase.db")) { // 獲取或創(chuàng)建集合(類似于表) var users = db.GetCollection<User>("users");
// 插入單個(gè)文檔 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); } } }
高級(jí)集合操作
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 == "王五");
// 文檔計(jì)數(shù) 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")) { // 使用事務(wù)進(jìn)行批量操作 var trans = db.BeginTrans();
var users = db.GetCollection<User>("users");
// 大量數(shù)據(jù)插入 var largeUserList = GenerateLargeUserList(); users.InsertBulk(largeUserList);
db.Commit();
} }
// 模擬生成大量用戶數(shù)據(jù) 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 查詢優(yōu)化
publicvoidQueryOptimization() { using (var db = new LiteDatabase(@"MyDatabase.db")) { var users = db.GetCollection<User>("users");