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));
에 OrderForm
모델을 속한 I 레코드의리스트 2 목록에있는이 방법을 . 나는 ViewResult
라는 또 다른 모델에 전달해야합니다
는 내가 필요로하는 AuditTrailLog
테이블에 속하는 변수 log2.ModificationDate
을 얻을 것입니다하지만 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'의 관계가 null이 아닙니다. 필요한 것은'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 테이블에 저장하면 데이터를 가져 오는 동안 null이되지 않으므로 ModificationDate를 수행 할 수 없습니다. 너는 뭔가 잘못 됐어. 아니면 완전히 잘못된 생각입니다. 디버깅 해 봤어? AuditTrailLog가 null이 아닌 것은 확실합니까? – JustWork