преобразование строки в десятичную в запросе sum linq asp.net
я пытаюсь получить некоторые данные из моей таблицы базы данных с помощью Entity запроса
public List<total> gettotal(int apid) { var query = (from a in DB.TblApplicantInstallments where a.ApplicantId == apid group a by a.ApplicantId into g select new total() { paidtotal = g.Where(x => x.Status == "Paid").Sum(x =>decimal.Parse(x.InstallmentDueAmount)), unpaidtoal = g.Where(x => x.Status == "Not Paid").Sum(x => (decimal)x.InstallmentDueAmount) }).ToList(); List<total> list = query.ToList(); return list; } } public class total { public decimal? paidtotal { get; set; } public decimal? unpaidtoal { get; set; } }
но я получаю следующую ошибку:
LINQ to Entities не распознает систему метода.Десятичные Разобрать(Системы.Строка)
пожалуйста, скажите мне, что не так с моим кодом?
Заранее спасибо
Tomas Takac
Вы не можете использовать какую-либо функцию в LINQ для сущностей. Это переводится в SQL, и в переводе поддерживается только несколько вызовов функций. Чтобы сделать это, вам нужно будет материализовать перечисление на клиенте, вызвав, например, ToList (), а затем выполнить вычисление. Какой тип данных является InstallmentDueAmount? Вам нужна конверсия?