2011-12-29 58 views
1

索引一個枚舉的值而不是使用Solrnet的字符串表示索引?索引一個枚舉的值,而不是字符串

說我有以下枚舉:

[Serializable] 
[Flags] 
public enum Gender 
{ 
    Male = 0, 
    Female = 1 
} 

和Solr的屬性添加到User類的Gender屬性:

[SolrField("gender")] 
public virtual Gender Gender { get; set; } 

如果我索引實體使用:

solr.Add(user) 

那麼它將索引'男'作爲性別而不是0。它是poss能夠讓它索引0而不是?

編輯:我不想爲此添加額外的屬性,就像Ondrej提議的那樣。

回答

2

試試這個:

[SolrField("gender")] 
public int GenderAsInt 
{ 
    get { return (int) Gender; } 
    set { Gender = (Gender) value; } 
} 

public virtual Gender Gender { get; set; } 

另外請注意,聲明你枚舉爲[Flags]沒有多大意義:

  • 將有幾乎是任何人都MaleFemale
  • Male會解釋爲關於枚舉字段的當前值的默認值
+0

我忘了提...最好不用增加額外的屬性。我有好幾個枚舉和我周圍的10加「複製」特性。 – Razzie 2011-12-29 13:31:46

相關問題