0

文件结构:

class UserAccountInfo
{
       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; }**
}

对象存储帐户类型中提到的任何类型的实例。可以使用 Accountype for ex 找到存储在对象中的类型;如果 Accountype 是客户,那么存储在对象中的实例将是 AccountinfoCustomer 等等。因此,我尝试使用它进行查询,但从 raven 获得以下异常。

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

4

1 回答 1

0

这应该有效。在当前稳定的 RavenDB 2.0.2230 中测试。

在这里进行测试:https ://gist.github.com/4692351

你用的是旧版本吗?

于 2013-02-01T16:27:00.607 回答