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

时间:2016-09-13 02:06:58

标签: c# .net entity-framework entity-framework-5 dbset

我有一个数据集(如下所示),当考虑案例敏感度时,每个记录在两个字段中是唯一的 -

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并忽略重复项。

1 个答案:

答案 0 :(得分:0)

您需要将数据库设置为区分大小写。目前它的CI(Case Insensitive)。