powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate, выбрать данные с сравнением по дате
6 сообщений из 6, страница 1 из 1
NHibernate, выбрать данные с сравнением по дате
    #37542451
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как быть?
Имеем.
Код: plaintext
1.
2.
3.
4.
5.
public Table[] Get(int idParam, DateTime dateParam)
{
return session.QueryOver<Table>()
      .Where(x => x.Date.Date == dateParam.Date && x.Id == idParam)
      .List().ToArray();
}

где Table - обычная табличка (класс для хибернейта) с полями
Код: plaintext
1.
2.
3.
4.
public partial class Table
{
    public virtual DateTime Date { get; set; }
    public virtual int Id { get; set; }
}

Вот ругается и все тут ((( на x.Date.Date - не может найти свойство Date.Date (((

Как правильно нужно написать на хибернейте ???
...
Рейтинг: 0 / 0
NHibernate, выбрать данные с сравнением по дате
    #37542486
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кр,

Это вам не LINQ to Objects. Это выражение должно быть преобразовано в SQL-запрос в духе select * from table where Date = '20111111'. Как по-вашему хибер должен обработать вызов .NET на поле таблицы на стороне SQL сервера?
...
Рейтинг: 0 / 0
NHibernate, выбрать данные с сравнением по дате
    #37542508
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И как правильно то написать? Чем заменить? :(
...
Рейтинг: 0 / 0
NHibernate, выбрать данные с сравнением по дате
    #37542526
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кр,

1) Сделать в таблице поля Date и Time. И фильтруйте по Date.
2) x.Date >= dateParam.Date && x.Date < dateParam.Date.AddDays(1)
...
Рейтинг: 0 / 0
NHibernate, выбрать данные с сравнением по дате
    #37542556
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SolYUtorАлексей Кр,

1) Сделать в таблице поля Date и Time. И фильтруйте по Date.
2) x.Date >= dateParam.Date && x.Date < dateParam.Date.AddDays(1)
Не правильно поняли, поле Date имеется, в классе который представил оно как раз типа DateTime, вот и хотелось бы достучаться до свойства Date.Date... класс это прототип таблички, табличка из двух полей Date и id.
А достучаться нужно до Date.Date т.к. оно DateTime.

вопрос решен, тест проходит, переписал следующим способом:

Код: plaintext
1.
2.
3.
4.
5.
6.
return session.QueryOver<Table>()
	.Where(
		Restrictions.Eq(
		Projections.SqlFunction("date", NHibernateUtil.DateTime, Projections.Property<Table>(item => item.Date)), dateParam))
        .And(x => x.Id == idParam)
	.List().ToArray();
...
Рейтинг: 0 / 0
NHibernate, выбрать данные с сравнением по дате
    #37542644
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кр,

Я то понял. К сожалению, в инструкции к молотку не всегда пишут, что это микроскоп.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate, выбрать данные с сравнением по дате
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]