【问题标题】:Nhibernate DetachedCriteria: Find entities where a property's property match a valueNhibernate DetachedCriteria:查找属性的属性与值匹配的实体
【发布时间】:2009-12-15 19:25:07
【问题描述】:

我有以下两个课程:

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");

但我得到一个例外说

"无法解析属性: 凭据.用户名: DataLinkNord.Domain.User"

任何帮助将不胜感激..

【问题讨论】:

    标签: c# .net asp.net nhibernate detachedcriteria


    【解决方案1】:

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

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

    【讨论】:

    • 好的,谢谢,但我想我需要重新审视我的映射,因为我得到一个无效的 SQL 表达式,它试图将 User 表与其自身连接..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2013-10-26
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    相关资源
    最近更新 更多