Я пытаюсь объединить таблицу БД со списком объектов, которые имеют два значения [int ID, double Value], где int - это идентификатор в таблице, а double - это некоторый процент.
Я хочучтобы получить результат из базы данных с помощью LINQ, чтобы результат был отсортирован по двойному значению в объекте.
Вот пример кода:
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.S SimilarityRatio'.В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid).