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; }**
}

オブジェクトは、アカウントタイプで言及されている任意のタイプのインスタンスを格納します。オブジェクトに格納されているタイプは、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

4

1 に答える 1

0

これは機能するはずです。現在安定しているRavenDB2.0.2230でテスト済み。

ここでのテスト:https ://gist.github.com/4692351

古いバージョンを使用していますか?

于 2013-02-01T16:27:00.607 に答える