Запрос двух таблиц из кода - PullRequest
0 голосов
/ 29 июня 2011

У меня есть две таблицы.

первая таблица: сотрудник

IdEmployee
Name
LastName

Вторая таблица: Комментарии сотрудников

IdComment
IdEmployee
Note

проконсультируйтесь с IdEmployee в двух таблицах, получите Name, IdComment и Note из C # Таблицы имеют тип SQL пытался

DetachedCriteria criteria1 = DetachedCriteria.For<Employee>()
                                .Add(Restrictions.Eq("IdEmployee", 2))
                                .SetFetchMode("Name", FetchMode.Eager);

                DetachedCriteria criteria2 = DetachedCriteria.For<CommentsEmployee>()
                                .Add(Restrictions.Eq("IdEmployee", 2))
                                .SetFetchMode("IdComment", FetchMode.Eager)
                                .SetFetchMode("Note", FetchMode.Eager);

                var result = session.CreateMultiCriteria()
                    .Add(criteria1)
                    .Add(criteria2)
                    .List();

/////////////////////////////////////////////// //////////////////////////////////////// в противном случае

var result = session
                        .CreateCriteria<Employee>()
                        .CreateCriteria("CommentsEmployee")
                        .Add(Restrictions.Eq("IdEmployee", f))
                        .List();

любой может мне помочь

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Я думаю, вы ищете простое заявление о присоединении?

SELECT * FROM Employee JOIN CommentsEmployee ON Employee.IdEmployee = CommentsEmployee.IdEmployee;

Это общий SQL, я надеюсь, что он работает для вас, но, по крайней мере, он должен передать концепцию.

0 голосов
/ 30 июня 2011

Я думаю, тебе стоит взглянуть на сумку.Добавьте комментарии как пакет сотруднику, и вам нужно всего лишь 1 утверждение get / load.

Класс Employee:

IdEmployee
Name
LastName
IList <CommentsEmployee> Comments

XML для пакета:

<bag name="Comments" inverse="false" lazy="true" cascade="save-update" generic="true">
    <key column="EmployeeId"/>
    <one-to-many class="EmployeeComments">
</bag>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...