У меня возникают некоторые проблемы с обертками MVC для пользовательского интерфейса Kendo. Кажется, что IEnumerable не поддерживает какие-либо агрегированные значения, отличные от count. Исключением, которое я получаю, является: Нет универсального метода «Сумма» типа «System.Linq.Enumerable» совместим с аргументами и аргументами поставляемого типа. Аргументы типа не должны предоставляться, если метод не является общим.Нет общего метода «Сумма» по типу «System.Linq.Enumerable» совместима
Я не уверен, как обойти эти проблемы, и я уверен, что это недостаток с кендо.
Обратите внимание, что функция агрегата, используемая ниже, не является LINQ для каждого, но какая оболочка Kendo UI предоставляет как функцию. Для получения дополнительной информации см. Kendo UI Documentation.
Источник данных:
- Борей
Контроллер:
public ActionResult Index() { return View(); }
public ActionResult Read([DataSourceRequest] DataSourceRequest request) { return GetView(request); }
private IEnumerable<dynamic> GetData() { var db = new NwEntities(); return db.Products; }
private JsonResult GetView(DataSourceRequest request) { return Json(GetData().ToDataSourceResult(request)); }
Вид:
@model IEnumerable<dynamic>
@(
Html.Kendo().Grid(Model).Name("Grid")
.DataSource(ds =>
ds.Ajax()
.Model(m =>
{
m.Id("ProductID");
m.Field("ProductName", typeof(string));
m.Field("UnitPrice", typeof(decimal));
})
.Aggregates(aggregate => aggregate.Add(a => "UnitPrice").Count().Sum())
.Read(r => r.Action("Read", "Home"))
)
.Columns(columns =>
{
columns.Bound("ProductID");
columns.Bound("ProductName");
columns.Bound("UnitPrice").Format("{0:c}");
})
.Groupable()
)
'.Count(). Sum()' - '.Aggregates (...)' - эти значения недействительны. –
Я предполагаю, что это вызвано вашим 'IEnumerable'. Почему вы используете 'IEnumerable ' вообще? Также я не знаю, поддерживают ли обертки KendoUI ... Поэтому попробуйте создать класс Product с продуктами ProID, ProductName, UnitPrice, чтобы узнать, работает ли он. –
nemesv
@TimothyShields '.Count(). Sum()' не методы Linq, а API конфигурации сетки пользовательского интерфейса Kendo. См. [Документация.] (Http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/configuration) – nemesv