с помощью Fluent NHibernate я могу сопоставить отношения один ко многим с моим классом пользователя, сказав:
HasMany(x => x.Membership)
.KeyColumn("UserID")
.Where("Deleted = 0");
Это работает, как и ожидалось, так как он захватывает только те записи о членстве, которые не были удалены.Нет, скажем, у меня есть поле «Последние против членства», где я знаю, что будет возвращаться одна запись на пользователя, я бы хотел сказать:
HasOne(x => x.CurrentMembership)
.Where("Current = 1");
Но нет метода Где.Я знаю, что мог бы сделать это в коде, говоря:
public virtual Membership CurrentMembership
{ get { return Membership.Single(m => m.Current); } }
Но это не позволяет мне выполнять LINQ-запросы к этому свойству.Я просто принял это как ограничение в прошлом, но это действительно начинает кусать меня с точки зрения производительности.
Я был бы очень признателен, если бы кто-то мог помочь.