forked from ravendb/ravendb
/
RavenDB_367.cs
60 lines (54 loc) · 1.44 KB
/
RavenDB_367.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// -----------------------------------------------------------------------
// <copyright file="RavenDB_367.cs" company="Hibernating Rhinos LTD">
// Copyright (c) Hibernating Rhinos LTD. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------
using System.Collections.Generic;
using System.Linq;
using Raven.Abstractions.Data;
using Raven.Abstractions.Indexing;
using Raven.Client.Indexes;
using Xunit;
namespace Raven.Tests.Issues
{
public class RavenDB_367 : RavenTest
{
[Fact]
public void CanFetchAllStoredFields()
{
using(var store = NewDocumentStore())
{
new Index().Execute(store);
using(var session = store.OpenSession())
{
session.Store(new Item{Name = "Oren Eini"});
session.SaveChanges();
}
using(var session= store.OpenSession())
{
var objects = session.Advanced.LuceneQuery<dynamic>("Index")
.WaitForNonStaleResults()
.SelectFields<dynamic>(Constants.AllFields)
.ToList();
Assert.Equal("Oren", objects[0].First);
Assert.Equal("Eini", objects[0].Last);
}
}
}
public class Item
{
public string Name { get; set; }
}
public class Index : AbstractIndexCreationTask<Item>
{
public Index()
{
Map = items =>
from item in items
let names = item.Name.Split()
select new {First = names[0], Last = names[1]};
StoreAllFields(FieldStorage.Yes);
}
}
}
}