Расширения SQLite-Net: связь ManyToMany -> Добавить значение в таблицу соединений - PullRequest
0 голосов
/ 09 мая 2019

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

public class Component
{
    [PrimaryKey, AutoIncrement]
    public int id { get; set; }

    [ManyToMany(typeof(ComponentAttribute))]
    public List<Attribute> attributes { get; set; }
}
public class Attribute
{
    [PrimaryKey, AutoIncrement]
    public int id { get; set; }
    public string name { get; set; }

    [ManyToMany(typeof(ComponentAttribute))]
    public List<Component> components { get; set; }
}
public class ComponentAttribute
{
    [PrimaryKey, AutoIncrement]
    public int id { get; set; }

    public string value { get; set; }

    [ForeignKey(typeof(Component))]
    public int componentId { get; set; }

    [ForeignKey(typeof(Attribute))]
    public int attributeId { get; set; }
}
Attribute attribute = new Attribute();
Attribute attribute2 = new Attribute();
Component component = new Component();

component.attributes.Add(attribute);
component.attributes.Add(attribute2);

this.dbConnection.Insert(attribute);
this.dbConnection.Insert(attribute2);
this.dbConnection.Insert(component);
this.dbConnection.UpdateWithChildren(component);

// After this I have to load the new ComponentAttributes and add the value manual

Так что было бы неплохо, если бы кто-нибудь дал мне подсказку, как получить доступ к значению

...