Критерий вопроса с NHibernate - PullRequest
0 голосов
/ 07 января 2009

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

public class User : IEntity
{
   public int ID { get; set; }
   public string FirstName { get; set; }
   public string LastName { get; set; }
   public string Email { get; set; }
   public string Logon { get; set; }
   public string Password { get; set; }
   public ICollection<Role> Roles { get; set; }

   public bool IsNew
   {
      get { return (ID == 0) ? true : false; }
   }

   public User()
   {
      Roles = new List<Role>();
   }
}

public class Role : IEntity
{
   public int ID { get; set; }
   public string RoleName { get; set; }
   public string RoleDescription { get; set; }

   public bool IsNew
   {
      get { return (ID == 0) ? true : false; }
   }
}

Мой вопрос ...... как мне создать Критерии, если я хочу найти любого пользователя, который содержит Роль с идентификатором 1 в своей коллекции Ролей?

1 Ответ

1 голос
/ 07 января 2009

Неважно, это оказалось относительно простым делом:

// role was the role passed in to my Find method.
var criteria = DetachedCriteria.For(typeof (User))
            .CreateCriteria("Roles")
            .Add(Restrictions.Eq("ID", role.ID));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...