关于如何从存储在文档中的对象中查询或检索值存在疑问,如下所示在 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; }
}
现在是否可以根据客户的班级详细信息检索结果?那就是现在我想根据客户类中的地址检索所有客户,那么我该怎么做呢?如何将查询中的对象用户类型转换为客户类型。谢谢。
文档中的用户对象可以存储任何类型的类对象,例如上图中的账户信息交易者。那么我如何从不能确定和变化的对象类型中查询。
var Result = sess.Query<UserAccountInfo>().Where(x => x.AccountType == usertype && ((AccountInfoCustomer)x.User).Customerstatus == CustomerStatus.Pending);
这是已尝试的查询,这是已捕获的异常 {"Url: \"/indexes/dynamic/UserAccountInfos?query=AccountType%253ADistributor%2520AND%2520User).Customerstatus%253APending&start=0&pageSize=128&aggregation=None\" \r\n\r\nSystem.ArgumentException:字段 ')_Customerstatus' 未编入索引,无法在 Raven.Database.Indexing.Index.IndexQueryOperation.AssertQueryDoesNotContainFieldsThatAreNotIndexes() 处查询未编入索引的字段\r\n