인 대상 선택 아래의이 끔찍한 코드로 끝났습니다. 지금은 더 나은 결과를 얻을 수 없습니다. 더 좋은 방법은 무엇입니까?LINQ to SQL, 최대 날짜가
그것은 내 데이터베이스의이 부분에 관하여 :
편집
Patient
가 Subscription
여러 MonitoringObjects
에 있습니다. Target
레코드는 Subscriptions
입니다. 주어진 Patient
및 에 대해 Subscription
에 대해 가장 최근 날짜의 대상 레코드를 검색하고 싶습니다. 이 대상 레코드의 최대 날짜는 달라질 수 있습니다. Subscriptions
~ MonitoringsObjects
에 대해 Targets
을 개별적으로 추가 할 수 있습니다.
var subs = db.Subscriptions.Where(p => p.PatientID == patID).Where(p => p.MonitoringObject.Category.Name == "Medication");
var targets1 = from t in db.Targets
where subs.Contains(t.Subscription)
select t;
var maxTa = from t in db.Targets
group t by t.SubscriptionID
into g
select new
{
Ky = g.Key,
Date = g.Max(p => p.Date)
};
var targets2 = from t in targets1
where maxTa.Select(p => p.Ky).Contains(t.SubscriptionID) &&
maxTa.Select(p => p.Date).Contains(t.Date)
select t;
정확히 무엇을 선택 하시겠습니까? 잠수함에 구독이 있고이 집합의 최대 값과 동일한 날짜 필드가있는 모든 대상입니까? – Jens
좋습니다, 시도하겠습니다. – andreas