У меня есть эти модели в RavdnDb версии 4.0:
public class AppUser
{
public AppUser()
{
ActiveInApps = new Dictionary<string, ActiveApp>();
}
public string Id { get; set; }
public string PhoneNumber { get; set; }
public Dictionary<string, ActiveApp> ActiveInApps { get; set; }
}
public class ActiveApp
{
public bool IsActive { get; set; } = true;
public string FirstName { get; set; }
public string LastName { get; set; }
[JsonIgnore]
public string DisplayName => $"{FirstName} {LastName}";
public DateTimeOffset LastActivity { get; set; }
}
Как мне проиндексировать свойство PhoneNumber модели AppUser с FirstName, LastName, UserName модели ActiveApp?
Я пытался с этимкод, но не работает:
public AppUser_ByModel()
{
Map = users => from u in users
let p = u.ActiveInApps.Values.FirstOrDefault(aia => aia.IsActive == true)
select new Model
{
PhoneNumber = u.PhoneNumber,
Id = u.Id,
FirstName = p.FirstName,
LastName = p.LastName,
IsActive = p.IsActive
};
}
И попытался с этим запросом:
from AppUsers as user
where user.PhoneNumber > '92'
or user.ActiveInApps[].FirstName = 'test'
or user.ActiveInApps[].LastName = 'test'
or user.ActiveInApps[].UserName = 'test'
or user.ActiveInApps[].SerialNumber = 'test'
or user.ActiveInApps[].LastActivity = 'test'
и RavenDb создать автоматический индекс, который работает.
Как я могу увидеть сгенерированный код для автоматического индексации на RavenDb?