在 RavenDB 中通过接口使用多态查询

发布于 2024-12-04 07:56:34 字数 495 浏览 1 评论 0原文

我有兴趣切换我们的应用程序(或其部分)以将 SQL Server 中的 RavenDB 与 NHibernate 结合使用。

我在 Raven 中似乎找不到的关键功能是查询接口的使用,例如:

ISearchable
{
  string Name {get;set;}
}

Class1 : ISearchable
{
  string Name {get;set;}
}
Class2 : ISearchable
{
   string Name {get;set;}
}

在 NH 中,我可以在任何 ISearchable 中搜索 Name 字段的内容:QueryOver()

我似乎在 Raven 中找不到这个,我错过了什么吗?我发现的最接近的是更改标识符前面的字符串部分,但我不想这样做; Class1和Class2的主要作用是不可搜索!

谢谢斯图

I'm interested in switching over our application (or parts of it) to use RavenDB from SQL server with NHibernate.

The key feature that I can't seem to find in Raven is the usage of interfaces for queries eg:

ISearchable
{
  string Name {get;set;}
}

Class1 : ISearchable
{
  string Name {get;set;}
}
Class2 : ISearchable
{
   string Name {get;set;}
}

In NH I can search for the contents of the Name field in any ISearchable: QueryOver<ISearchable>().

I can't seem to find this in Raven, am I missing something? The closest that I've found is changing the string part at the front of the identifier, which I don't want to do; the main function of Class1 and Class2 is not to be searchable!

Thanks

Stu

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白龙吟 2024-12-11 07:56:34

定义一个索引,如:

// ByName
from doc in docs
select new { doc.Name }

session.Query("ByName");

Define an index like:

// ByName
from doc in docs
select new { doc.Name }

session.Query("ByName");

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文