как сделать запрос с NHibernate? - PullRequest
0 голосов
/ 29 июня 2011

enter image description here

Мне нужно получить Date, DataQuantity, FeetQuantity таблицы ProductionbyEmployee и основать OperatorNum на таблице Employee. количество операций является параметром и с помощью NHibernate

hql запрос. Nhibernate 3.2

1 Ответ

1 голос
/ 30 июня 2011

Обычно каждый использует ORM для загрузки и сохранения объектов в реляционных базах данных настолько прозрачным, насколько это возможно. Несмотря на то, что можно создавать проекции определенных частей данных, в вашем сценарии кажется, что вы хотите извлечь сущность Employee с определенным OperatorNum, а затем проверить некоторые производственные показатели Employee.

Важно отметить, что запросы HQL объявляются для имен и имен свойств объектов вашего домена, а не для таблиц базы данных и имен столбцов.

Если ваши сущности и их свойства имеют имена, идентичные вашим таблицам и столбцам, это будет выглядеть так:

// you need an ISession variable -- here let's assume it is called session
var operatorNum = 5;
var query = session.CreateQuery(
    @"from Employee emp where emp.OperatorNum = :operatorNum")
    .SetProperties(new { operatorNum });
var employee = query.UniqueResult<Employee>();

// you can now get the collection of production metrics in the
// employee.ProductionbyEmployee property; note that if you have
// not mapped this collection to be eagerly fetched, you'll get
// a second roundtrip to the database to get the collection

(Я понимаю, что это может быть не совсем то, о чем вы просите; мне трудно сказать, чего вы пытаетесь достичь, не зная, как выглядят ваши сущности или отображения.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...