我想從我的域模型中選擇某些字段,並按域模型中的字段進行分組,然後將結果放入ViewModel中 - 但是,我可以'不要讓Linq語法正確。ASP.Net C#MVC組域模型並將結果放入ViewModel
我的型號是:
public class Offer
{
public int OfferId { get; set; }
public string Inclusions { get; set; }
public string Property { get; set; }
public bool IncludeInOffer { get; set; }
public Guid guid { get; set; }
public int NumPeople { get; set; }
public int NumNights { get; set; }
public DateTime ArrivalDate { get; set; }
public string CustomerName { get; set; }
public string EmailAddress { get; set; }
public DateTime OfferCreatedOn { get; set; }
public string Email { get; set; }
public string OfferReference { get; set; }
}
我的視圖模型爲:
public class OfferVMList
{
public string guid { get; set; }
public int NumPeople { get; set; }
public int NumNights { get; set; }
public DateTime ArrivalDate { get; set; }
public string CustomerName { get; set; }
public string EmailAddress { get; set; }
public DateTime OfferCreatedOn { get; set; }
public string Email { get; set; }
public string OfferReference { get; set; }
}
我的LINQ是:
OfferVMList item = db.Offers
.GroupBy(x => x.OfferReference)
.Select(ct => new OfferVMList
{
NumPeople = ct.NumPeople
})
.OrderBy(x => x.ArrivalDate);
但是,該錯誤信息是:
System.Linq.IGrouping<string,FGBS.Models.Offer>' does not contain a definition for 'NumPeople' and no extension method 'NumPeople' accepting a first argument of type 'System.Linq.IGrouping<string,FGBS.Models.Offer>' could be found (are you missing a using directive or an assembly reference?)
「
任何人都可以看到我要去哪裏錯了嗎?
謝謝
其因爲'ct'其實是一個事物,而不是一個單一的實體 –
好,謝謝名單 - 我那麼如何從數據庫的結果。提供,分組並進入ViewModel? – Mark
您的視圖模型不適用。一個組意味着你有一個關鍵字集合(通過你的案例中的'OfferReference')和每個你有一個'Offer'集合的關鍵字。那麼這怎麼可能適合你的'OfferVMList'模型呢? –