9.5 新增操作

Furion 框架提供非常多的语法糖进行数据库操作。

9.5.1 新增一条,无返回值#

var user = new User { Name = "百小僧", Age = 27 };
// ==== 同步操作 ====
// 示例一
repository.Insert(user);
// 示例二
user.Insert();
// 示例三
repository.Entities.Add(user);
// 示例四
repository.ChangeEntityState(user, EntityState.Added);
// ==== 异步操作 ====
// 示例一
await repository.InsertAsync(user);
// 示例二
await user.InsertAsync();
// 示例三
await repository.Entities.AddAsync(user);

9.5.2 新增一条,返回最新数据#

// ==== 同步操作 ====
// 示例一
var newEntity = repository.InsertNow(user);
// 示例三
var newEntity = user.InsertNow();
// ==== 异步操作 ====
// 示例二
var newEntity = await repository.InsertNowAsync(user); // 有三个重载
// 示例四
var newEntity = await user.InsertNowAsync(); // 有三个重载

9.5.3 新增多条(不立即提交)#

// ==== 同步操作 ====
// 示例一
repository.Insert(user, user2);
// 示例二
repository.Insert(new List<User> { user, user2 });
// 示例三
repository.Insert(new[] {user, user2 });
// ==== 异步操作 ====
// 示例一
await repository.InsertAsync(user, user2);
// 示例二
await repository.InsertAsync(new List<User> { user, user2 });
// 示例三
await repository.InsertAsync(new[] {user, user2 });

9.5.4 新增多条(立即提交)#

// ==== 同步操作 ====
// 示例一
repository.InsertNow(user, user2);
// 示例二
repository.InsertNow(new List<User> { user, user2 });
// 示例三
repository.InsertNow(new[] {user, user2 });
// ==== 异步操作 ====
// 示例一
await repository.InsertNowAsync(user, user2);
// 示例二
await repository.InsertNowAsync(new List<User> { user, user2 });
// 示例三
await repository.InsertNowAsync(new[] {user, user2 });
小知识

所有带 Now 结尾的表示立即提交到数据库,也就是立即调用 SaveChangesSaveChangesAsync

9.5.5 反馈与建议#

与我们交流

给 Furion 提 Issue