自己造轮子是一件苦差事。 现在,您可以专注于业务开发,仅需集成 ⭐️Furion⭐️ 即可。
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