У меня есть объект ac # с полем даты и внешним ключом.Я создал один двойной индекс для этих полей.
public class Session : DbObject
{
[DataMember]
[Column(TypeName = "date")]
[Index(IsUnique = false, Order = 2)]
public DateTime Date { get; set; }
[DataMember]
[Index(IsUnique = false, Order = 1)]
public int PatientId { get; set; }
[DataMember]
public Patient Patient { get; set; }
}
Мне нужно взять список из «Сессий» следующим образом: у меня есть список идентификаторов пациентов и дата.Мне нужно получить один сеанс для каждого пациента, чтобы его дата была самой новой из всех остальных.
примерно так:
SELECT * FROM Sessions WHERE PatientId IN (1, 2, ...) AND TOP(Date < SOME_DATE)
Я знаю, что этот запрос - чепуха.Это просто чтобы уточнить мое намерение.
*** Важно использовать индексы, потому что эта таблица огромна.
Если это возможно, я хотел бы знать, могу ли я написать его на c # и в рамках структуры сущностей.
Большое спасибо!