我試圖找出如何以編程方式(即不使用FieldAttribute
)爲NHibernate Search(Lucene.net)添加索引列, 。如何以編程方式爲NHibernate搜索(Lucene.net)添加索引列而不使用FieldAttribute
我有繼承問題,因爲FieldAttribute
沒有自動繼承。
以下代碼說明了我想要做的事情。
class A
{
[Field(Index.Tokenized)]
public virtual string P1
{
get
{
return "P1";
}
}
}
class B : A
{
public override string P1
{
get
{
return "P1+";
}
}
}
我預計P1的覆蓋被索引,但它沒有。當我檢查FieldAttribute
課程時,我發現它沒有在AttributeUsage
屬性中指定的Inherited = true
。
然後,我將FieldAttribute
添加到重寫的屬性,但導致NHibernate搜索引發異常,指出具有相同鍵的項目已添加到字典中。我認爲這是因爲在類型鏈中有兩個同名的屬性,它們都是FieldAttribute
,它只接受一個屬性。
那麼,如何通過不使用FieldAttribute
以編程方式解決此問題?
太好了,我沒有看到那個編輯,但我很高興看到這個補丁進來了! – 2010-02-20 23:43:20