Obrigado pela resposta David!
Então. O que eu to querendo evitar é justamente esta classe de associação.
Eu queria poder fazer isso:
Professor p = new Professor();
p.Nome = "Verminoso";
Curso c = new Curso();
c.AddDisciplina(new Disciplina(){Nome = "Aritimética"});
c.AddDisciplina(new Disciplina(){Nome = "Geometria"});
p.AddCursos(c);
_session.SaveOrUpdate(p);
Com este trecho de código, gostaria que gravasse nas tabelas:
tbl_Professor (ID, NOME)
tbl_ProfessorCursoDisciplina(ID_PROFESSOR, ID_CURSO, ID_DISCIPLINA)
Considerando que eu já tenha as seguintes tabelas
tbl_Curso(ID, NOME)
tbl_Disciplina(ID, NOME)
tbl_CursoDisciplina(ID_CURSO, ID_DISCIPLINA)
Sem criar uma classe de associação, não consigo fazer, pois no mapeamento do professor consigo apenas referenciar o Curso. Gostaria de referênciar também a disciplina.
Se eu criar uma classe de associação, o meu código não ficaria “fluente” da forma que eu mostrei.
Tá complicado… :?