我正在尝试使用具有两个值的对象List加入db表[int ID,double Value]其中int - 表中的ID,double是一定百分比。
我想用LINQ从数据库中获取结果,以便结果将按对象中的double值排序。
以下是示例代码:
var sortedDict = (from entry in SimilarDealPercentage orderby entry.Value descending select entry).ToDictionary(pair => pair.Key, pair => pair.Value);
List<SimilarityRatio> temptable = new List<SimilarityRatio>();
foreach (KeyValuePair<int, double> pair in sortedDict)
{
SimilarDealIds.Add(pair.Key);
SimilarityRatio sr = new SimilarityRatio();
sr.ID = pair.Key;
sr.Value = pair.Value;
temptable.Add(sr);
}
var qfinal = from d in DB.Deals
from s in temptable
where (d.Id == s.ID)
orderby s.Value descending
select d;
这会出现以下错误:
无法创建“NineOwl.DAL.Managers.SimilarityRatio”类型的常量值。在此上下文中仅支持原始类型(例如Int32,String和Guid')。