Отношения многие ко многим. 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", запись не вставляется в таблицу отношений, т. Е. Она выполняет отношения. Пожалуйста, помогите мне, ребята, и извините за мой английский!