我在从 RavenDB 查询时遇到问题[JsonProperty]
。
以下测试不起作用。
(注意:我知道我使用了新的命名空间Raven.Imports.Newtonsoft.Json
):
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; }
}
}
}
但是,如果我注释掉该行[JsonProperty("N")]
,它会按预期工作。
这是一个错误还是我做错了什么?
我正在使用 RavenDB 2.5.0.0(最新)