有没有办法使DbSet.AddOrUpdate区分大小写

本文关键字:大小写 AddOrUpdate DbSet 有没有 | 更新日期: 2023-09-27 18:06:55

我有一个数据集(如下所示),当考虑大小写敏感性 -

时,每个记录在两个字段上是唯一的
var dataSet1 = new DataSet() { Country = "UK", City = "London", ... }
var dataSet1 = new DataSet() { Country = "UK", City = "LONDON", ... }

执行DBSet.AddOrUpdate () -

database.DataSets.AddOrUpdate(ds => new
{
    ds.Country,
    ds.City,
}, dataList.ToArray());
database.SaveChanges();

我得到System.InvalidOperationException: Sequence contains more than one element

这个异常的原因很明显,因为当查询City = 'London'

时,它将返回两条记录。

问题 -是否有办法使DbSet。AddOrUpdate区分大小写?

PS:数据集来自外部源,所以我不能调整它来持久。例如,不允许将City更改为UPPER CASE并忽略重复项。

有没有办法使DbSet.AddOrUpdate区分大小写

您需要将数据库设置为区分大小写。目前是CI(不区分大小写)