2
[JsonProperty]
으로 RavenDB에서 질의하는 데 문제가 있습니다.내부 속성에 대한 RavenDB 쿼리가 [JsonProperty]로 직렬화 됨
다음 테스트는 작동하지 않습니다.
(참고 : 내가 사용은 새 네임 스페이스 Raven.Imports.Newtonsoft.Json
를 사용 있는지 알고) : 나는 줄 [JsonProperty("N")]
을 주석 경우 예상대로
using System.Linq;
using NUnit.Framework;
using Raven.Client.Embedded;
using Raven.Imports.Newtonsoft.Json;
namespace RavenTest
{
[TestFixture]
public class RavenFixture
{
protected EmbeddableDocumentStore DocumentStore;
[SetUp]
public void BaseSetUp()
{
DocumentStore = new EmbeddableDocumentStore { RunInMemory = true };
DocumentStore.Initialize();
}
[Test]
public void Test()
{
using (var session = DocumentStore.OpenSession())
{
session.Store(new Parent {Inner = new Child {Num = 1}});
session.SaveChanges();
}
using (var session = DocumentStore.OpenSession())
{
var list = session.Query<Parent>().Customize(x => x.WaitForNonStaleResultsAsOfNow())
.Where(x => x.Inner.Num == 1)
.ToList();
Assert.That(list.Count, Is.EqualTo(1));
}
}
public class Parent
{
public string Id { get; set; }
//If you comment this out, it will work
[JsonProperty("N")]
public Child Inner { get; set; }
}
public class Child
{
[JsonProperty("M")]
public int Num { get; set; }
}
}
}
그러나, 그것은 작동합니다.
이 버그입니까? 아니면 내가 잘못하고 있습니까?
내가 RavenDB 2.5.0.0을 사용하고 (최신)
이는 Newtonsoft 문서에 속성을 존중하지 않을 것이다 DocumentSession.Query <>에 대한 쿼리 업체에서 버그가 수 있도록 나타납니다
감사합니다 제이, 불행하게도 나를 위해 작동하지 않았다. 어떤 RavenDB 버전을 사용하고 있습니까? 이상하게도 LuceneQuery를 사용하면 같은 동작이 발생합니다. '[JsonProperty ("N")]'을 주석 처리하면 작동합니다. –
빌드 2375에서 테스트했습니다. – Jay
빌드 2622 및 2601에서 테스트했는데 작동하지 않습니다. 나는 이것이 버그라고 확신하며 장차 픽스를 기대하고있다. –