这是我的查询
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();
这给了我错误:
无法在等于操作的情况下解决“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突。
但当我删除.ToList()时,它可以正常工作
我有三个这样的查询我想在一个列表中添加所有三个的结果并将其发送到某个函数。
答案 0 :(得分:3)
当它到达数据库时,您最终会尝试比较使用不同排序规则存储的两个变量。一种是使用SQL collation for Latin1 General Case Insensitive Accent Sensitive,另一种是Windows风格的整理。
在SQL中,您可以通过对相关列使用collate
来解决此问题,以确保在相同的排序规则中对它们进行比较。在您的实体框架中,您必须找到一些其他方法来使排序规则相同。