【问题标题】:How to get Raven DB index name from clr type如何从 clr 类型获取 Raven DB 索引名称
【发布时间】:2014-02-03 06:07:32
【问题描述】:

有没有办法从 c# 中的相应类获取索引名称?例如:我有一个名为 Users_ByEmail 的类,我知道 Raven 为我创建了名为 Users/ByEmail 的索引,但我想从 Raven 方法中获取它。

我需要这样的东西:

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

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

Raven 客户端是否有任何公开的方法?这会很有用,因为我不想在从 DataBaseCommands 调用 UpdateByIndex 方法时使用字符串。

【问题讨论】:

    标签: c# ravendb


    【解决方案1】:

    您可以通过创建类的实例并使用IndexName 属性来获取名称。

    string indexName = new Users_ByEmail().IndexName;
    

    我同意,如果 API 有一些不依赖字符串的重载,那就太好了。像下面这样的东西会很好:

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

    如果您的代码中有很多这样的调用,您可以考虑编写一个扩展方法来实现。

    【讨论】:

    • 是的。那会做的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    相关资源
    最近更新 更多