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