Отношения многие ко многим. NHibernate + ConfORM

Я впервые на этом форуме, я из Бразилии, рад знакомству!

Вот вещь, у меня есть отношения многие ко многим:

public class Assessoria : Empresa {
    // others fields
    private IList<Produto> _produtos;

    // others getters and setters
    public virtual IList<Produto> produtos {
        get { return _produtos; }
        set { _produtos = value; }
    }

    public Assessoria() {
        produtos = new List<Produto>();
    }
}

а также

public class Produto : Entidade {
    // others fields
    private IList<Assessoria> _assessorias;

    // others getters and setters
    public virtual IList<Assessoria> assessorias {
        get { return _assessorias; }
        set { _assessorias = value; }
    }

    public Produto() {
        assessorias = new List<Assessoria>();
    }
}

и моя конфигурация:

orm.Cascade<Assessoria, Produto>(Cascade.All);
orm.ManyToMany<Assessoria, Produto>();

orm.Patterns.Lists.Remove(orm.Patterns.Lists.Single(p => p.GetType() == typeof(ListCollectionPattern)));

в базе данных я получил таблицы:

-- EMPRESA is parent of ASSESSORIA
CREATE TABLE EMPRESA (
    ID              INTEGER NOT NULL,
    CLASS        VARCHAR(255) NOT NULL,
    -- others fields, not relevant
);
--and
CREATE TABLE PRODUTO (
    ID           INTEGER NOT NULL,
    -- others fields, not relevant
);

--and the relationship table
CREATE TABLE ASSESSORIAPRODUTO (
    PRODUTO_KEY     INTEGER NOT NULL,
    ASSESSORIA_KEY  INTEGER NOT NULL
);

Хорошо, когда я пытаюсь сначала сохранить объект "Продукт", а после сохранения "Ассессория", все работает отлично! Но когда я пытаюсь сохранить объект "Assessoria" первым, а после "Product", запись не вставляется в таблицу отношений, т. Е. Она выполняет отношения. Пожалуйста, помогите мне, ребята, и извините за мой английский!

0 ответов

Другие вопросы по тегам