Возможно ли выполнить соединение между двумя таблицами, которые не имеют внешних ключей?HQL-соединение без внешних ключей в таблице
Редактировать: Хорошо, я был уверен, что это возможно, но я не совсем уверен, как это сделать.
Классы
public class Booking
{
public virtual int Id { get; set; }
public virtual Int32 bookingID { get; set; }
public virtual Int32 bookingAdminID { get; set;
}
public class BookingLocation
{
public virtual int Id { get; set; }
public virtual Int32 bookingID { get; set; }
public virtual Int32 locationID { get; set; }
}
Отображения
public BookingMap()
{
Table("Bookings");
Id(x => x.Id).Column("ID");
Map(x => x.bookingID).Column("BookingID");
Map(x => x.bookingAdminID).Column("BookingAdminID");
}
public class BookingLocation
{
public virtual int Id { get; set; }
public virtual Int32 bookingID { get; set; }
public virtual Int32 locationID { get; set; }
}
мне нужно сделать простой внутреннее соединение на bookingID обоих приведенной выше таблице. Как мне это сделать?
Я попытался:
var hql = "select b from Booking as b inner join BookingLocation as bl on b.bookingID = bl.bookingID";
var bookings = session.CreateQuery(hql).List<object[]>();
, но я получаю сообщение об ошибке:
Semantic exception was unhandled by user code Path expected for join!
[select b from Booking as b inner join BookingLocation as bl on b.bookingID = bl.bookingID]
Я беру этот подход, потому что я не могу легко строить отношения между этими 2 таблицами в отображении , Вам нужно иметь отношения, чтобы присоединиться?
спасибо за ваш ответ, я попытался использовать ваш совет, но я не смог понять синтаксис. Я отредактировал свое оригинальное сообщение, не возражаете ли вы переписать свой пример кода? – iKode