有没有办法可以从c#中的相应类中获取索引名称?例如:我有一个名为Users_ByEmail
的类,我知道Raven为我创建了名为Users/ByEmail
的索引,但我想从Raven方法中获取它。
我需要这样的东西:
public class Users_ByEmail : AbstractIndexCreationTask<User>
....
string indexName = documentStore.GetIndexName(typeof(Users_ByEmail));
Raven客户端是否有任何暴露方法?这很有用,因为我不想在从DataBaseCommands调用UpdateByIndex
方法时使用字符串。
答案 0 :(得分:2)
您可以通过创建类的实例并使用IndexName
属性来获取名称。
string indexName = new Users_ByEmail().IndexName;
我同意如果API有一些不依赖于字符串的重载会很好。像下面这样的东西会很好:
documentStore.DatabaasCommands.UpdateByIndex<Users_ByEmail>(...)
如果您的代码中有很多这些调用,您可以考虑编写一个可以提供此功能的扩展方法。