1

在我的ClassMap中,我只想在滿足條件時加載屬性。這是代碼我現在使用:如何在流利的nhibernate中添加參考條件?

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

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子句中使用別名,否則出了問題。

相關問題