⭐️ Furion v4 版本支持【所有历史版本】无缝升级,一套代码兼容 .NET 5+ ⭐️
Skip to main content

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

演练场