4
我有一個RavenDB的mvc應用程序,它具有一個名爲Member的文檔實體。每個會員文檔都有一個被認爲是管理員的用戶列表。只有他們可以查看和管理該會員文檔。在其中一個頁面上,我有一個成員搜索並創建了一個索引來幫助搜索。試圖通過索引查詢RavenDB實體的集合
public class Members_ByName : AbstractIndexCreationTask<Member>
{
public Members_ByName()
{
Map = members => from member in members select new {member.Title};
Indexes.Add(x => x.Title, FieldIndexing.Analyzed);
Sort(x => x.Title, SortOptions.String);
}
}
public class UserReference
{
public string Id { get; set; }
public string Name { get; set; }
}
public class Member
{
public string Id { get; set; }
public string Title { get; set; }
public ICollection<UserReference> Administrators { get; set; }
}
由於用戶只能查看/管理他們在哪裏,當我做以下,以獲得會員
RavenQueryStatistics stats;
var query = RavenSession.Query<Member, Members_ByName>().Statistics(out stats);
query = query.Where(x => x.Title.StartsWith("anything"));
query = query.Where(x => x.Administrators.Any(y => y.Id == CurrentUser.Id));
var list = query.OrderBy(x => x.Title).Paging(CurrentPage, Configuration.DefaultPage, CurrentPageSize).ToList();
當上面的代碼運行,我得到「字段「管理員會員文檔Administrators_Id '沒有編入索引,無法在未編入索引的字段上查詢「,據我瞭解,但我試圖在索引中獲取管理員標識的每一件事都沒有奏效,也不知道如何使它在這一點上起作用。
謝謝你,偉大的工作。 – 2012-04-17 12:22:35