3

Это мой запросToList() дает ошибку "не удается разрешить конфликт параметров сортировки"

var maillst = (from o in ObjContext.CashDepositCapturings 
       join m in ObjContext.Merchants on o.MerchantID equals m.MerchantID 
       join u in ObjContext.Users on o.CreatedBy equals u.UserID 
       where u.EmailAddress != String.Empty && u.EmailAddress != null && 
       o.CashDepositCapturingID.Equals(dataModel.CashDepositId) 
       select new CashDepositApproveMail 
       { 
        SendToEmailId = u.EmailAddress, 
        SendToFirstName = u.FirstName, 
        sendToLastName = u.LastName, 
        cashDepoCreatedBy = o.CreatedBy, 
        CashDepoCaptrId = o.CashDepositCapturingID 
       }).ToList(); 

Это дает мне сообщение об ошибке:

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

, но когда я удалить .ToList() он работает отлично

У меня есть три таких запроса. Я хочу добавить результат всех трех в один список и отправить его некоторой функции.

+0

Вы должны добавить тег для используемой базы данных (SQL Server? Или?). Вероятно, это исключение, созданное движком базы данных, а не Entity Framework. – Slauma

+2

Причина удаления .ToList() работает, потому что запросы Linq ленивы. Это означает, что запрос выполняется в последний момент. Удаление .ToList() означает, что запрос не выполняется вообще. –

+0

@SystemDown Большое спасибо за вашу помощь. –

ответ

3

Когда это попадает в базу данных, вы пытаетесь сравнить два varchars, которые хранятся с использованием разных сопоставлений. Один использует SQL-сортировку для Latin1 General Case Insensitive Accent Sensitive, а другой - это вкус этой сортировки Windows.

В SQL вы можете решить эту проблему, используя collate против соответствующих столбцов, чтобы убедиться, что они были сопоставлены в одной и той же сортировке. В вашей структуре сущности вам придется найти другой способ сделать сопоставления одинаковыми.

+0

Как обходной путь, просто измените сортировки, чтобы сделать их равными. – abatishchev

+0

@muhmud спасибо большое Я изменил свой тип сортировки базы данных, чтобы они соответствовали, и это сработало. –

+0

@abatishchev Спасибо большое, я сделал то же самое, хочу знать, как мы можем справиться с этим через сущность framework. И человек благодарит за его редактирование, я имею в виду сделать его более значимым .. –

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