【发布时间】:2011-07-31 09:37:38
【问题描述】:
我在 LINQ-SQL 中遇到了最奇怪的排序规则错误。我有这个查询,它对 2 个参数执行左外连接。从查询中,如果它不为空,我想为左连接表提取一列,否则从第一个表中提取。有问题的字段是 char,并且两个表具有相同的排序规则。 LINQ 代码如下所示,我已将导致错误的行加粗。
from contentList in dc.ContentList
join portalPriceClass in dc.PortalContentPriceClass
on contentList.ContentID equals portalPriceClass.ContentID
into ppc
from portalSpecificPriceClass in ppc.Where(portalPriceClass =>
portalPriceClass.PortalID==portalId).DefaultIfEmpty()
where contentListPriority.PortalID == portalId
select new
{
ID = content.ID,
PriceClass = (portalSpecificPriceClass == null) ? contentGame.PriceClass : portalSpecificPriceClass.PriceClass
};
很遗憾,我收到以下错误,但找不到任何原因:
System.Data.SqlClient.SqlException:无法执行 char 值到 char 的隐式转换,因为值的排序规则由于排序规则冲突而未解决。
【问题讨论】:
标签: c# .net linq linq-to-sql collation