我试图找出如何以编程方式(即不使用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