在我的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
但不幸的是,这不起作用。有人知道这个的等价物吗?
答案 0 :(得分: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
子句中使用别名,否则会出错。