Я сохраняю как дату, так и время как DateTime
в моей базе данных SQL Server, и у меня есть свойство DateTime
в моих сопоставлениях. В моем запросе мне нужно получить доступ к дате отдельно и времени. С момента у меня нет никаких проблем, но при попытке получить время из DateTime я получаю следующее сообщение об ошибке:NHibernate QueryOver получить время из свойства datetime
Additional information: could not resolve property: TimeOfDay of: IWS.DataContracts.ServicesPlanning
Экономия времени в другое имущество не то, что я хочу, хотя я пробовал и не могу получить его также работает.
Запрос с QueryOver
:
Session.QueryOver<ServicesPlanning>()
.JoinAlias(x => x.TeamMember,() => stm)
.Where(() => stm.Id == _memberId)
.Where(x => (x.AllDay && (x.StartDate == _startDate && x.EndDate == _endDate)) ||
(!x.AllDay && x.StartDate.Date == _startDate && x.EndDate.Date == _endDate
&& (x.StartDate.TimeOfDay > _endTime.Value || x.EndDate.TimeOfDay < _startTime.Value)))
.RowCount() > 0;
запросов с помощью LINQ:
return Session
.Query<ServicesPlanning>()
.Where(x => x.TeamMember.Id == _memberId)
.Any(x => (x.AllDay && (x.StartDate.Date == _startDate && x.EndDate.Date == _endDate)) ||
(!x.AllDay && x.StartDate.Date == _startDate && x.EndDate.Date == _endDate && (x.StartDate.TimeOfDay > _endTime.Value || x.EndDate.TimeOfDay < _startTime.Value)));
Цель запроса: проверить, если уже есть планирование с этой даты или времени, поэтому мы не имеем дублирования.
Любая помощь очень ценится!
Have вы попробовали LINQ вместо QueryOver? –
@PhilDegenhardt Да, но я, похоже, получаю ту же ошибку. Я также отправлю свой запрос LINQ выше. –