我有一个数据集(如下所示),当考虑案例敏感度时,每个记录在两个字段中是唯一的 -
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并忽略重复项。
答案 0 :(得分:0)
您需要将数据库设置为区分大小写。目前它的CI(Case Insensitive)。