0

我有以下两个课程:

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”

任何帮助,将不胜感激..

4

1 回答 1

3

我自己之前遇到过这个问题(尽管我是 Java 用户),但解决它的方法是首先使用“addAlias()”调用......类似于:

DetachedCriteria.For<User>().AddAlias("Credentials", "Credentials").Add(Expression.Eq("Credentials.UserName", "someuser");
于 2009-12-15T19:37:35.720 回答