У меня есть две простые из лиц, аналогично:Guid ограничения в NHibernate Queryover
public class User
{
int id;
string name;
Guid Guid;
IList<Rentals> Rentals;
}
public class Rentals
{
int Id { get; protected set; }
User User { get; set; }
int DvdId { get; set; }
}
(я все публичные виртуальные свойства объявлены и все, просто не упоминая его здесь, чтобы упростить)
Предполагая у каждого User
будет много Rentals
, я хочу выбрать все DvdId
определенного пользователя своим Гидом.
Я ударяя исключение, это один: could not resolve property: User.Guid
Это то, что я делаю в моем хранилище:
DetachedCriteria dc = QueryOver.Of<Rentals>()
.Where(r => r.User.Guid == userGuid)
.Select(r => r.DvdId)
.DetachedCriteria;
Где userGuid
это передается из модульного тестирования. (И это одна я знаю, существует)
Если я вместо этого:
DetachedCriteria dc = QueryOver.Of<Rentals>()
.Where(r => r.User.Id == 1) // Note - replaced guid with id (an int)
.Select(r => r.DvdId)
.DetachedCriteria;
Это работает просто отлично. Таким образом, я предполагаю, что что-то должно быть сделано для Guid сравнений ..
Моего отображения для GUID, как это: (в классе UserMap)
Map(x => x.Guid, "Guid")
.Not.Nullable();
Я использую свободно для отображения объектов.
Итак, как я могу применить ограничения на контуры, пожалуйста?
Отлично! Теперь я не только знаю, что мне нужно сделать, чтобы заставить его работать, но я также знаю, почему он не работает! Спасибо. Я бы много раз это делал, если бы мог! – LocustHorde