0

次の2つのクラスがあります。

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 に答える