使用Dictionary加入数据库表

时间:2011-07-15 14:30:52

标签: .net linq object dictionary

我正在尝试使用具有两个值的对象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')。

0 个答案:

没有答案