有没有人知道如何在select linq查询中解决排序问题? 当我想在linq中选择数据时,我收到此错误。
无法解决“SQL_Latin1_General_CP1_CI_AS”与“Latin1_General_CI_AS”之间的排序规则冲突等于操作
var lstData = from s in dataTrackDB.datas
join b in dataTrackDB.brandDatas on i.brandcode equals b.brandcode
join b in dataTrackDB.brandDatas on i.brandcode equals b.brandcode
join b in dataTrackDB.brandDatas on i.brandcode equals b.brandcode
join m in dataTrackDB.mktDatas on s.mktcode equals m.mktcode
select new dataView {
Account=m.account,
brandcode=b.brandcode,
commodity=s.commodity,
date=s.date,
daysvalid=s.daysvalid,
mfrcode=b.mfrcode,
mktcode=s.mktcode,
price=s.price,
prodid=s.prodid,
statecode=s.statecode,
subcommodity=s.subcommodity,
supprecode=s.supprecode,
units =s.units
};
lstData = lstData.AsQueryable().Where(x => x.mfrcode == mfr );
return lstData.Take(100).ToList();
答案 0 :(得分:4)
问题不在Linq中,而在数据库中
你可以创建一个以这种方式连接的视图,并从视图中选择linq中的数据
SELECT * FROM T1
INNER JOIN T2 ON
T1.Name COLLATE Latin1_General_CI_AS = T2.Name COLLATE Latin1_General_CI_AS
或者为每个表分别在linq2sql中选择数据,然后将其与linq2object一起加入
答案 1 :(得分:0)
在查询末尾添加COLLATE DATABASE_DEFAULT