У меня есть эта модель:
public class Documento
{
public int Id {get;set;}
public int CustomerId {get;set;}
public int DocumentTypeId {get;set;}
public DateTime Date {get;set;} //issuance of the document
public DateTime NextDate {get;set;} //will be valid
}
Свойство Date
означает дату создания документа, а свойство NextDate
- это дату, когда документ должен быть восстановлен
Образец данных
Id - CustomerId - DocumentTypeId Date - NextDate
1 - 1 - 1 - 12/12/2017 - 12/12/2018 - Generate in 2017, expiring in 2018
2 - 1 - 1 - 12/12/2018 - 12/12/2019 - Generate in 2018, this ok
3 - 1 - 1 - 10/01/2017 - 10/01/2018
Мне нужно найти документы, которые не были созданы в 2018
Моя начальная дата 01/01/2018
и окончательная 01/01/2019
Я пыталсяэто:
db.Documents.AsNoTracking().AsQueryable()
.Where(x =>
DbFunctions.TruncateTime(x.Date) >= model.Start &&
DbFunctions.TruncateTime(x.Date) <= model.End &&
DbFunctions.TruncateTime(x.NextDate) >= model.Start &&
DbFunctions.TruncateTime(x.NextDate) <= model.End).ToList();
[Редактировать]
Когда пройдена начальная и конечная дата 01/01/2018
и 01/01/2019
, возвращаемое значение равно:
Id - CustomerId - DocumentTypeId Date - NextDate
3 - 1 - 1 - 10/01/2017 - 10/01/2018
Документ с(Id 1)
был сгенерирован в 2017 году и действителен до 2018 года. Но в 12.12.2008 был регенерирован (Id 2)