IQueryableを返す単純なGETメソッドがあり、クエリにいくつかの前提条件があります。
[Queryable(HandleNullPropagation = HandleNullPropagationOption.False)]
public IQueryable<Message> Get()
{
using (var session = RavenStore.GetSession())
{
var messages = session.Query<Message>().Where(x => x.TargetUserId == this.User.Identity.Name || x.SourceUserId == this.User.Identity.Name);
return messages;
}
}
これはRavenDBです。私が抱えている問題は、実行時にユーザーIDが「[EMPTY_STRING]」に置き換えられるため、実行中の実際のクエリは次のようになります。
'TargetUserId:[[EMPTY_STRING]] OR SourceUserId:[[EMPTY_STRING]]' onindex....。
これは明らかに間違っています。
IQueriableではなくListを返す場合、正常に機能するため、パイプラインの後半でクエリが変更されます。誰かがこれを機能させる方法について何か洞察を持っていますか?