gpt4 book ai didi

ravendb - 查询 ravendb 文档中的对象

转载 作者:行者123 更新时间:2023-12-02 12:06:51 24 4
gpt4 key购买 nike

对于如何在 raven db 中查询或检索存储在文档中的对象的值存在疑问,如下所示。

class User
{
public String Id { get; set; }
public AccountType AccountType { get; set; }Servicetax
public String MainAccountMobileNo { get; set; }
public UserStatus Status { get; set; }
public String EmailId { get; set; }
public String DisplayName { get; set; }
public Object User { get; set; }
}

这里我将三种不同类型的类存储到对象 User 中。比如说客户、零售商和贸易商。

Customer

{
public String Name{ get; set; }
public String Address { get; set; }
public String MobileNo { get; set; }
public String EmailId { get; set; }
}

零售商

{
public String Name{ get; set; }
public String Address { get; set; }
public String MobileNo { get; set; }
public String EmailId { get; set; }
}

交易者

{
public String Name{ get; set; }
public String Address { get; set; }
public String MobileNo { get; set; }
public String EmailId { get; set; }
}

现在可以根据客户的类(class)详细信息检索结果吗?现在我想根据客户类中的地址检索所有客户,那么我该怎么做呢?如何将查询中的对象 user 类型转换为 customer 类型。谢谢。 Image of my document storage

文档中的用户对象可以存储任何类型的类对象,例如上图中的账户信息交易者。那么我如何从不能确定且变化的对象类型中查询。

var Result = sess.Query<UserAccountInfo>().Where(x => x.AccountType == usertype && ((AccountInfoCustomer)x.User).Customerstatus == CustomerStatus.Pending);

This is the query that's been tried and this is the exception that's been caught {"Url: \"/indexes/dynamic/UserAccountInfos?query=AccountType%253ADistributor%2520AND%2520User).Customerstatus%253APending&start=0&pageSize=128&aggregation=None\"\r\n\r\nSystem.ArgumentException: The field ')_Customerstatus' is not indexed, cannot query on fields that are not indexed\r\n at Raven.Database.Indexing.Index.IndexQueryOperation.AssertQueryDoesNotContainFieldsThatAreNotIndexes()

最佳答案

这里的问题是 raven 数据库的构建。我在将其更改为新版本查询后使用旧版本

var Result = sess.Query<UserAccountInfo>().Where(x => x.AccountType == usertype && ((AccountInfoCustomer)x.User).Customerstatus == CustomerStatus.Pending);

工作正常。

关于ravendb - 查询 ravendb 文档中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14235977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com