ドキュメントの構造:
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; }**
}
オブジェクトは、アカウントタイプで言及されている任意のタイプのインスタンスを格納します。オブジェクトに格納されているタイプは、Accountypeforexを使用して見つけることができます。Accountypeがcustomerの場合、オブジェクトに格納されるインスタンスはAccountinfoCustomerなどになります。それを使用してクエリを実行しようとしましたが、ravenから次の例外が発生しました。
var Result = sess.Query<UserAccountInfo>().Where(x => x.AccountType == usertype && ((AccountInfoCustomer)x.User).Customerstatus == CustomerStatus.Pending);
{"URL:\" / indexs / 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