В зависимости от базы данных Entity Framework и базы данных PostgreSQL мы пытаемся смоделировать часть данных, которые в основном состоят из списка ссылок на объект с именем OtherObject, который имеет идентификатор. Данные, которые мы пытаемся сохранить, это MyObject и состоит из Id и двух списков (с максимальной длиной 12) одной или нескольких ссылок на OtherObject и количества OtherObject s. Поэтому мы хотим хранить данные (например, отдельную таблицу и столбцы), которые коррелируют с этим:
FirstPattern:
OtherObject with ID 1, 10 times
OtherObject with ID 4, 12 times
SecondPattern:
OtherObject with ID 2, 2 times
OtherObject with ID 3, 4 times
OtherObject with ID 4, 11 times
Чтобы сделать это, мы подумали, что ICollection of KeyValuePair будет уместным. Таким образом, у нас есть список, который имеет значение (количество) для каждого ключа (OtherObject).
Модель выглядит следующим образом:
public class MyObject
{
    public int Id { get; set; }
    public IDictionary<OtherObject, int> FirstPattern { get; set; }
    public IDictionary<OtherObject, int> SecondPattern { get; set; }
}
Вопрос в том, как мы можем сохранить этот ICollection из KeyValuePair в базе данных? Нам также интересно, если это лучший способ сделать это.
Мы надеемся услышать это, если у вас есть (лучший) способ сохранить эти данные в базе данных! Спасибо за внимание.