9.7 新增或更新操作
功能移除声明
以下内容在 Furion 2.5.1 +
版本中已移除。此操作让很多不了解 EFCore
的开发者产生了很大的误解,不知何时新增或何时更新,故移除此功能。
9.7.1 新增或更新(不立即提交)
// ==== 同步操作 ====
// 示例一
repository.InsertOrUpdate(user);
// 示例二
user.InsertOrUpdate();
// ==== 异步操作 ====
// 示例一
await repository.InsertOrUpdateAsync(user);
// 示例二
await user.InsertOrUpdateAsync();
9.7.2 新增或更新(立即提交)
// ==== 同步操作 ====
// 示例一
repository.InsertOrUpdateNow(user);
// 示例二
user.InsertOrUpdateNow();
// ==== 异步操作 ====
// 示例一
await repository.InsertOrUpdateNowAsync(user);
// 示例二
await user.InsertOrUpdateNowAsync();
9.7.3 新增或更新部分列(不立即提交)
// ==== 同步操作 ====
// 示例一
repository.InsertOrUpdateInclude(user, u=>u.Name, u=>u.Age);
// 示例二
repository.InsertOrUpdateInclude(user, "Age", "Name");
// 示例三
repository.InsertOrUpdateInclude(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
repository.InsertOrUpdateInclude(user, new[] {"Age", "Name"});
// 示例五
user.InsertOrUpdateInclude(u=>u.Name, u=>u.Age);
// 示例六
user.InsertOrUpdateInclude("Age", "Name");
// 示例七
user.InsertOrUpdateInclude(new[] { u=>u.Name, u=>u.Age});
// 示例八
user.InsertOrUpdateInclude(new[] {"Age", "Name"});
// ==== 异步操作 ====
// 示例一
await repository.InsertOrUpdateIncludeAsync(user, u=>u.Name, u=>u.Age);
// 示例二
await repository.InsertOrUpdateIncludeAsync(user, "Age", "Name");
// 示例三
await repository.InsertOrUpdateIncludeAsync(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
await repository.InsertOrUpdateIncludeAsync(user, new[] {"Age", "Name"});
// 示例五
await user.InsertOrUpdateIncludeAsync(u=>u.Name, u=>u.Age);
// 示例六
await user.InsertOrUpdateIncludeAsync("Age", "Name");
// 示例七
await user.InsertOrUpdateIncludeAsync(new[] { u=>u.Name, u=>u.Age});
// 示例八
await user.InsertOrUpdateIncludeAsync(new[] {"Age", "Name"});
9.7.4 新增或更新部分列(立即提交)
// ==== 同步操作 ====
// 示例一
repository.InsertOrUpdateIncludeNow(user, u=>u.Name, u=>u.Age);
// 示例二
repository.InsertOrUpdateIncludeNow(user, "Age", "Name");
// 示例三
repository.InsertOrUpdateIncludeNow(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
repository.InsertOrUpdateIncludeNow(user, new[] {"Age", "Name"});
// 示例五
user.InsertOrUpdateIncludeNow(u=>u.Name, u=>u.Age);
// 示例六
user.InsertOrUpdateIncludeNow("Age", "Name");
// 示例七
user.InsertOrUpdateIncludeNow(new[] { u=>u.Name, u=>u.Age});
// 示例八
user.InsertOrUpdateIncludeNow(new[] {"Age", "Name"});
// ==== 异步操作 ====
// 示例一
await repository.InsertOrUpdateIncludeNowAsync(user, u=>u.Name, u=>u.Age);
// 示例二
await repository.InsertOrUpdateIncludeNowAsync(user, "Age", "Name");
// 示例三
await repository.InsertOrUpdateIncludeNowAsync(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
await repository.InsertOrUpdateIncludeNowAsync(user, new[] {"Age", "Name"});
// 示例五
await user.InsertOrUpdateIncludeNowAsync(u=>u.Name, u=>u.Age);
// 示例六
await user.InsertOrUpdateIncludeNowAsync("Age", "Name");
// 示例七
await user.InsertOrUpdateIncludeNowAsync(new[] { u=>u.Name, u=>u.Age});
// 示例八
await user.InsertOrUpdateIncludeNowAsync(new[] {"Age", "Name"});
9.7.5 新增或更新排除特定列(不立即提交)
// ==== 同步操作 ====
// 示例一
repository.InsertOrUpdateExclude(user, u=>u.Name, u=>u.Age);
// 示例二
repository.InsertOrUpdateExclude(user, "Age", "Name");
// 示例三
repository.InsertOrUpdateExclude(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
repository.InsertOrUpdateExclude(user, new[] {"Age", "Name"});
// 示例五
user.InsertOrUpdateExclude(u=>u.Name, u=>u.Age);
// 示例六
user.InsertOrUpdateExclude("Age", "Name");
// 示例七
user.InsertOrUpdateExclude(new[] { u=>u.Name, u=>u.Age});
// 示例八
user.InsertOrUpdateExclude(new[] {"Age", "Name"});
// ==== 异步操作 ====
// 示例一
await repository.InsertOrUpdateExcludeAsync(user, u=>u.Name, u=>u.Age);
// 示例二
await repository.InsertOrUpdateExcludeAsync(user, "Age", "Name");
// 示例三
await repository.InsertOrUpdateExcludeAsync(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
await repository.InsertOrUpdateExcludeAsync(user, new[] {"Age", "Name"});
// 示例五
await user.InsertOrUpdateExcludeAsync(u=>u.Name, u=>u.Age);
// 示例六
await user.InsertOrUpdateExcludeAsync("Age", "Name");
// 示例七
await user.InsertOrUpdateExcludeAsync(new[] { u=>u.Name, u=>u.Age});
// 示例八
await user.InsertOrUpdateExcludeAsync(new[] {"Age", "Name"});
9.7.6 新增或更新排除特定列(立即提交)
// ==== 同步操作 ====
// 示例一
repository.InsertOrUpdateExcludeNow(user, u=>u.Name, u=>u.Age);
// 示例二
repository.InsertOrUpdateExcludeNow(user, "Age", "Name");
// 示例三
repository.InsertOrUpdateExcludeNow(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
repository.InsertOrUpdateExcludeNow(user, new[] {"Age", "Name"});
// 示例五
user.InsertOrUpdateExcludeNow(u=>u.Name, u=>u.Age);
// 示例六
user.InsertOrUpdateExcludeNow("Age", "Name");
// 示例七
user.InsertOrUpdateExcludeNow(new[] { u=>u.Name, u=>u.Age});
// 示例八
user.InsertOrUpdateExcludeNow(new[] {"Age", "Name"});
// ==== 异步操作 ====
// 示例一
await repository.InsertOrUpdateExcludeNowAsync(user, u=>u.Name, u=>u.Age);
// 示例二
await repository.InsertOrUpdateExcludeNowAsync(user, "Age", "Name");
// 示例三
await repository.InsertOrUpdateExcludeNowAsync(user, new[] { u=>u.Name, u=>u.Age});
// 示例四
await repository.InsertOrUpdateExcludeNowAsync(user, new[] {"Age", "Name"});
// 示例五
await user.InsertOrUpdateExcludeNowAsync(u=>u.Name, u=>u.Age);
// 示例六
await user.InsertOrUpdateExcludeNowAsync("Age", "Name");
// 示例七
await user.InsertOrUpdateExcludeNowAsync(new[] { u=>u.Name, u=>u.Age});
// 示例八
await user.InsertOrUpdateExcludeNowAsync(new[] {"Age", "Name"});
9.7.7 反馈与建议
与我们交流
给 Furion 提 Issue。