得到最新記錄我使用代碼首先,實體,MVC3 +剃鬚刀,我們有對他們有很多步驟(其中也有被審計)性能,從第2臺
我有形式Forms
,它們有Steps
,所以模型看起來像這樣。
public class MyForm
{
public int FormId { get; set; }
public Guid UniqueReferenceId { get; set; }
public DateTime DateCreatedOn { get; set; }
public string Name { get; set; }
public string DetailsOfContact { get; set; }
public virtual ICollection<AuditItem> AuditItems { get; set; }
}
public class AuditItem
{
public int AuditItemId { get; set; }
public int FormId { get; set; }
public string ActionByUserUid { get; set; }
public DateTime DateOfAction { get; set; }
public int Step { get; set; }
public virtual MyForm MyForm { get; set; }
}
那麼麻煩的是當我想要顯示的用戶界面顯示什麼的最新舉措是在,細節的許多形式提交的進步,一個表一起從形式彙總信息與步他們在和總結。即使只有少量記錄,表現也很糟糕,更不用說當我們有數千記錄時。我必須在表格中查詢:
我必須從最近的日期開始,而不是最新的「步驟」號碼,因爲表單可能會返回上一步。
int latestAuditStep = myForm.AuditItems
.OrderByDescending(ai => ai.DateOfAction)
.Select(ai => ai.Step)
.First();
顯然這是非常昂貴的,我正在尋找更好的方法來解決這個建模問題。
注意:我理想上喜歡使用WWF,因爲這似乎是結合使用的最佳工具,但我沒有足夠的時間來了解這一點,而不是僅僅爲了得到這份工作完成「,所以不知道它是否會有所幫助。