2016-09-13 2 views
0

У меня есть набор данных (показать ниже), где каждая запись является уникальной на двух полях, когда рассматривающего дело senstivity -Есть ли способ сделать DbSet.AddOrUpdate чувствительным к регистру?

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

Ааа! Сопоставление моей базы данных - «Latin1_General_CI_AS» –

ответ

0

Вам необходимо настроить базу данных на Case Sensitive. На данный момент это CI (нечувствительный к регистру).

Смежные вопросы