свободное соединение nhibernate указать критерии объединения - PullRequest
1 голос
/ 02 января 2012

У меня есть следующий sql:

select a.a, b.b, c.c
from apple a
join burger b on a.b = b.b
left outer join charlie c on a.c = c.c
where c.x = 'kke';

чтобы отобразить это, я попробовал следующее беглое отображение nhibernate:

    public entityMap()
    {
        Table("apple");
        Id(x => x.a, "a").GeneratedBy.TriggerIdentity();

        Join("burger", m =>
        {
            m.Inverse();
            m.Fetch.Join();
            m.KeyColumn("b");


        });
        Join("charlie", m =>
                                        {
            m.Inverse();
            m.Fetch.Join();
            m.KeyColumn("c");
        });
        Where("this_1_.x = 'kke'");

    }

, что приводит к следующему sql:

select a.a, b.b, c.c
from apple a
join burger b on a.a = b.b
left outer join charlie c on a.a = c.c
where c.x = 'kke';

как вы можете видеть, это соединения a.a = bb и a.a = c.c, когда я хочу, чтобы они были a.c = c.c и a.b = b.b.

Как я могу добиться этого без ссылок (мне нужна только одна сущность из всех трех таблиц).

1 Ответ

1 голос
/ 03 января 2012

Это невозможно.

Я не думаю, что NHibernate является правильным инструментом для подхода, ориентированного на базу данных, который вы используете.

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