Индекс RavenDB со списком дочерних элементовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Индекс RavenDB со списком дочерних элементов

Сообщение Anonymous »

Я хочу создать индекс, содержащий дочерний список из другой коллекции, но получаю сообщение: «Функции индекса Map и уменьшить должны возвращать одинаковые типы».
Это что у меня пока получилось:

Код: Выделить всё

    public class PropertiesIndex : AbstractMultiMapIndexCreationTask
{
public PropertiesIndex()
{
// Map for Property
AddMap(properties => from property in properties.Where(x => x.Status < 2)
select new PropertyIndexResult
{
Id = property.Id,
Images = new List()
});

// Map for PropertyImage
AddMap(images => from image in images
select new PropertyIndexResult
{
Id = image.PropertyId,
Images = new List { image }
});

// Reduce function
Reduce = results => from result in results
group result by result.Id into g
select new PropertyIndexResult
{
Id = g.Key,
Images = g.SelectMany(x => x.Images ?? new List()).ToList()
};

StoreAllFields(FieldStorage.Yes);
}
}
PropertyIndexResult выглядит следующим образом:

Код: Выделить всё

public class PropertyIndexResult
{
public long Id { get; set; }
public List
? Images { get; set; } = [];
}
И PropertyImage:

Код: Выделить всё

public class PropertyImage
{
public long PropertyId { get; set; }
public string? Url { get; set; }
}
Я использую ravendb 6.0.3 и .net 8.0

Подробнее здесь: https://stackoverflow.com/questions/787 ... child-list
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»