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

Posted

技术标签:

【中文标题】有没有办法让 DbSet.AddOrUpdate 区分大小写?【英文标题】:Is there a way to make DbSet.AddOrUpdate case sensitive? 【发布时间】:2017-01-20 12:50:45 【问题描述】:

我有一个数据集(如下所示),当考虑区分大小写时,每条记录在两个字段上都是唯一的 -

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'时会返回两条记录

问题 -

PS:数据集来自外部来源,因此我无法对其进行调整以使其持久存在。例如,将 City 更改为 UPPER CASE 并忽略重复项是不允许的。

【问题讨论】:

你的数据库的排序规则是什么? 啊!我的数据库的排序规则是 'Latin1_General_CI_AS' 【参考方案1】:

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

【讨论】:

以上是关于有没有办法让 DbSet.AddOrUpdate 区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法让这个 C# 代码自动覆盖文件?

有没有办法让bmps透明?

有没有办法让 webview 显示 flash 内容?

有没有办法让 setTooltip() 区分大小写

有没有办法让这个功能更好? [复制]

有没有办法让对话框自行打开?