Nhibernate DetachedCriteria: поиск объектов, для которых свойство свойства соответствует значению - PullRequest
0 голосов
/ 15 декабря 2009

У меня есть два следующих класса:

public class User
{
    public virtual Guid Id { get; set; }
    public virtual UserCredentials Credentials { get; set; }

    // other stuff

    protected User() { }
}

public class UserCredentials
{
    public virtual Guid Id { get; set; }
    public virtual string UserName { get; set; }

    // other stuff

    protected UserCredentials() { }
}

Я хочу создать отдельный критерий, который находит всех пользователей, где Credentials.UserName = "someuser", но я не могу понять это правильно. Я пробовал следующее:

DetachedCriteria.For<User>().Add(Expression.Eq("Credentials.UserName", "someuser");

но я получаю исключение, говорящее

"не удалось разрешить свойство: Credentials.UserName of: DataLinkNord.Domain.User "

Буду признателен за любую помощь ..

1 Ответ

3 голосов
/ 15 декабря 2009

Я столкнулся с этой проблемой раньше, чем я (хотя я являюсь пользователем Java), но я решил сначала использовать вызов addAlias ​​() ... что-то вроде:

DetachedCriteria.For<User>().AddAlias("Credentials", "Credentials").Add(Expression.Eq("Credentials.UserName", "someuser");
...