У меня есть этот запрос linq, который делает выбор, а затем пытается суммировать итоги, поэтому под каждым групповым ключом есть общая сумма. Значение - это строка, и я не могу суммировать строку. однако, когда я пытаюсь преобразовать в int, я получаю сообщение об ошибке:LINQ преобразование строки в int
LINQ to Entities не распознает метод Int32 ToInt32 (System.String) ', и этот метод не может быть переведен в выражение хранилища.
var dataSet = entities.BL_MT_CATEGORY
.Distinct()
.Where(d => (iGeography.FirstOrDefault() == "" || iGeography.Contains(d.Geography))
&& (iRetailer.FirstOrDefault() == "" || iRetailer.Contains(d.Retailer))
&& (iCountry.FirstOrDefault() == "" || iCountry.Contains(d.Country))
&& (iAirport.FirstOrDefault() == "" || iAirport.Contains(d.Airport))
&& (iShop.FirstOrDefault() == "" || iShop.Contains(d.StoreName))
&& (iCategory.Contains(d.Category))
&& (d.Values == "Sum of EuroValue"))
.GroupBy(x => x.Category)
.Select(g => new {
C201408 = g.Sum(x => Convert.ToInt32(x.C201408))
})
.ToList();
@vendettamit Не существует явного броска между 'string' и' int'. – Abion47
Использование функций фреймворка сущности, –