Я пытаюсь отобразить следующее:
Пользователь может быть подключен к другому пользователю.Пользовательский класс имеет свойство «Соединения», которое является коллекцией UserConnection.UserConnection имеет две ссылки на пользователя, одну для запрашивающей стороны (тот, кто инициировал соединение) и одну для запрашивающей стороны (тот, кто является целью соединения).
Использование FluentNHibernate Я хочу загрузить все UserConnections для при загрузке пользователя.Соединения пользователя - это те, где идентификатор пользователя соответствует либо requestterId или requestteeId .
public class User
{
//....
public virtual IList<UserConnection> Connections { get; set; }
}
public class UserConnection
{
//....
public virtual User Requester { get; set; }
public virtual User Requestee { get; set; }
}
Это похоже на отношения многие ко многим, но я не могу полностью обернуть это вокруг.Кто-нибудь может помочь?
РЕДАКТИРОВАТЬ:
Мое текущее сопоставление пользователя (ниже), очевидно, соответствует только на один столбец ...
HasMany(x => x.Connections).Inverse().Key(k => k.Columns.Add("Requestee_id")).Fetch.Select().Not.LazyLoad();
РЕДАКТИРОВАТЬ2:
Я рассмотрел этот подход , но я бы предпочел избежать этого, если это возможно ...