dotnetcore / FreeSql

🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Clickhouse orm, DuckDB orm, TDengine orm, QuestDB orm, MsAccess orm.
https://freesql.net
MIT License
4.12k stars 857 forks source link

InsertOrUpdate 方法支持指定重复的键 #671

Closed cocosip closed 3 years ago

cocosip commented 3 years ago

我们使用 ABP vNext作为我们的开发框架,在我们的业务上至少需要支持 pg数据库与 oracle 数据库, 我们目前几张表的主键是 ABP中的 Guid类型,但是业务上的唯一键是以 'TenantId'+'Uid' 两个字段组合成的唯一索引。 pg数据库下我们使用 OnConflictDoUpdate 方法能够指定多个字段的唯一键,但是在Oracle下由于未能提供额外的扩展方法,只能使用InsertOrUpdate 方法。但是InsertOrUpdate方法无法指定多个字段的唯一键。 EF Core 的InsertOrUpdate 方法又是遥遥无期。

2881099 commented 3 years ago

多定义一个实体类

cocosip commented 3 years ago

已经使用唯一单主键作为id了