1

在我的 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 

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

4

1 回答 1

4

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子句中使用别名,否则会出错。

于 2012-09-05T09:25:39.270 回答