2014-01-31 31 views
1

有沒有一種方法可以從c#中相應的類獲取索引名?例如:我有一個名爲Users_ByEmail的類,我知道Raven爲我創建了名爲Users/ByEmail的索引,但我想從Raven方法中獲得它。如何從clr類型獲得Raven DB索引名稱

我需要的是這樣的:

public class Users_ByEmail : AbstractIndexCreationTask<User> 
.... 

string indexName = documentStore.GetIndexName(typeof(Users_ByEmail)); 

是烏鴉客戶有任何這樣做暴露的方法?這很有用,因爲我不想在使用DataBaseCommands調用UpdateByIndex方法時使用字符串。

回答

2

您可以通過創建類的實例並使用IndexName屬性來獲取名稱。

string indexName = new Users_ByEmail().IndexName; 

我同意這會很好,如果API有一些重載,不依賴字符串。像下面的內容將是不錯:

documentStore.DatabaasCommands.UpdateByIndex<Users_ByEmail>(...) 

如果你有很多你的代碼這些調用的,你可以考慮寫這會給你的擴展方法。

+0

是的。那會做。謝謝! – Sarrus