В моем приложении MVC 3 Я использую следующий запрос:LINQ/EF - Использование GroupBy для возврата значений в View
var items = context.QuoteLines.Include("DaybookVehicles").Where(x => x.EnquiryID == id).GroupBy(x=>x.VehicleID).ToList();
return View(items);
Тогда на мой взгляд, у меня есть это на вершине:
@model IEnumerable<myApp.Areas.DayBook.Models.DayBookQuoteLines>
Но это выдает ошибку:
The model item passed into the dictionary is of type
'System.Collections.Generic.List`1[System.Linq.IGrouping`2[System.Int32,myApp.Areas.DayBook
.Models.DayBookQuoteLines]]', but this dictionary requires a model item of type
'System.Collections.Generic.IEnumerable`1[myapp.Areas.DayBook.Models.DayBookQuoteLines]'.
Как я использую группу, в данном случае? Как я хотел бы, чтобы сгруппировать каждый из моих QuoteLines
на их соответствие VehicleID
QuoteLines Модель:
public class DayBookQuoteLines
{
[Key]
public int QuoteLineID { get; set; }
public int EnquiryID { get; set; }
public virtual int VehicleID { get; set; }
public virtual DaybookVehicles Vehicle { get; set; }
[Required(ErrorMessage = "This field is required.")]
[Display(Name = "Item Number:")]
[MaxLength(50)]
public string ItemNumber { get; set; }
public string ItemDescription { get; set; }
}
Транспорт Модель:
public class DaybookVehicles
{
[Key]
public int VehicleID { get; set; }
public int EnquiryID { get; set; }
public virtual ICollection<DayBookQuoteLines> QuoteLines { get; set; }
public string vrm { get; set; }
public string make { get; set; }
public string model { get; set; }
public string engine_size { get; set; }
public string fuel { get; set; }
}
Я думаю, что у меня есть эта установка правильно, но у каждого транспортного средства может быть коллекция QuoteLines, прикрепленная к нему!
Вы используете сначала прочитав документацию, затем прочитав код ошибки, а затем объяснив, что вам нужно, потому что запрос и @model говорят что-то совершенно другое. – Euphoric
Нам нужны ваши модели, чтобы помочь вам! –
Запрос возвращает (много) * групп *, каждый из которых имеет один 'VehicleID' и многие' QuoteLines'. Ваше представление пытается отобразить просто «QuoteLines». Это разные типы данных. Решите, хотите ли вы, чтобы ваше представление отображало * группы * или * строки * и соответствующим образом изменяло ваш запрос. – AakashM