【发布时间】:2013-02-06 00:02:36
【问题描述】:
这是我的查询
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() 它工作正常
我有三个这样的查询我想将所有三个的结果添加到一个列表中并将其发送到某个函数。
【问题讨论】:
-
你应该为你正在使用的数据库添加一个标签(SQL Server?或者?)。这可能是数据库引擎引发的异常,而不是实体框架。
-
删除 .ToList() 的原因是因为 Linq 查询是惰性求值的。这意味着查询在最后一刻运行。删除 .ToList() 只是意味着根本不执行查询。
-
@SystemDown 非常感谢您的帮助。
-
@Slauma 感谢您的指出。现在我明白了当时我不知道原因....
标签: c# sql-server entity-framework exception-handling collation