c# - 如何在流利的 nhibernate 中为引用添加条件?

标签 c# nhibernate fluent-nhibernate fluent-nhibernate-mapping

在我的 ClassMap 中,我只想加载满足条件的属性。这是我现在使用的代码:

References<MyObject>(x => x.Property).ForeignKey("RecordId");

我想为此添加一个 Where 子句:仅在数据库中的值为零时加载 x.Property,如下所示:

References<User>(x => x.Property).ForeignKey("RecordId").Where("Removed = 0"); // Where Removed is a column of the user table 

但不幸的是,这不起作用。有人知道这方面的等价物吗?

最佳答案

ClassMap 类中,我添加了一个 Where 子句:

public class ClassAMap : ClassMap<ClassA>
{
    public ClassAMap()
    {
        Table("ClassA");

        // Only load Class A where the user is not removed
        Where("PersonRecId in (select u.Userid from Users u where u.Removed = 0)");

        Id(c => c.Id).GeneratedBy.Identity();

        References<User>(x => x.User).ForeignKey("UserId");
    }
}

注意:Where子句中需要使用别名,否则会出错。

关于c# - 如何在流利的 nhibernate 中为引用添加条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12277486/

相关文章:

c# - 如何将 SonarLint 分析结果从 Visual Studio 发送到 SonarQube 服务器

c# - 自定义DXGrid的 header (DevExpress wpf网格控件)

c# - 调用基方法和派生方法

c# - Nhibernate - 找不到属性的 setter/getter

performance - NHibernate + Fluent 启动时间长

sql - 如何让 NHibernate 只生成 SQL 而不执行它?

nhibernate - 流利的 NHibernate : How to map a 'Foreign Key' column in the mapping class

asp.net-mvc - 流利的nHibernate 2010入门指南

c# - 将EMGUCV VectorOfKeyPoint保存到XML并再次加载

c# - 流利的 : Table name different from entity name