1
Considere這段代碼在LINQ(請注重VAR list2
)字段:檢索不屬於模型
var list1 = ....... /* This linq doesnt matter. Just for clarify that it is used in the below linq */
var list2 = dba.OrderForm
.Where(q => q.OrderPriority.OrderPriorityID == orderpriorityID
&& q.StockClass.StockClassID == stockclassID
&& dba.AuditTrailLog.Where(log => q.OrderID == log.ObjectID)
.Any(log => log.ColumnInfoID == 486
&& log.OldValue == "2"
&& log.NewValue == "3")
&& dba.AuditTrailLog.Where(log2 => q.OrderID == log2.ObjectID)
.Any(log2 => log2.ColumnInfoID == 487
&& log2.OldValue == "1"
&& log2.NewValue == "2")
&& lista.Contains(q.OrderID));
這樣,我在記錄列表2列表屬於OrderForm
模型。我需要它傳遞給叫ViewResult
另一種模式:
我需要的是讓變量log2.ModificationDate
屬於AuditTrailLog
表,但不包括在OrderForm
型號
List<ViewResult> vr = new List<ViewResult>();
foreach (OrderForm o in list2)
{
ViewResult r = new ViewResult();
r.NumOrden = o.FormNo;
r.Title = o.Title;
r.Com = o.OrderPriority.Descr;
r.OClass = o.StockClass.Descr;
r.RodT = /* <<------ Here is where I need to assign log2.ModificationDate
vr.Add(r);
}
感謝。
感謝您的回答@JustWork。對不起,如果我沒有正確解釋。 'OrderForm-AuditTrailLog'之間的關係不爲空。我需要的是在'AuditTraiLog'表中記錄'OrderForm'表的每個記錄被修改(LINQ中的'log2.ModificationDate')時在'r.RodT'中檢索日期。 – equisde
'OrderForm/AuditTrailLog'表之間的關係是1:N。我按照你的建議使用了'var list2 = dba.OrderForm.Include(「AuditTrailLog」)',但是我不能執行'r.RodT = o.AuditTrailLog.ModificationDate'既不是'r.RodT = log2.ModificationDate' – equisde
如果有ModificationDate AuditTrailLog表中的值,並且在獲取數據時不會爲空,則無法執行ModificationDate。你有什麼問題。或者我明白你完全錯了。你調試了嗎?你確定AuditTrailLog不是null嗎? – JustWork