Я использую новое отображение в NHibernate 3.2 по коду (не бегло nhibernate), и у меня есть небольшая проблема с отображением отношения многие ко многим.
Я хочу отобразить эти объекты
public class Article
{
public virtual Guid Id { set; get; }
public virtual string Content { set; get; }
public virtual string Title { set; get; }
public virtual IList<Tag> Tags { set; get; }
}
public class Tag
{
public virtual Guid Id { set; get; }
public virtual string Name { set; get; }
public virtual IList<Article> Articles { set; get; }
}
public class ArticleTag
{
public virtual Article Article { set; get; }
public virtual Tag Tag { set; get; }
}
Мое отображение выглядит так
public class TagMapping : ClassMapping<Tag>
{
public TagMapping()
{
Id<Guid>(x => x.Id);
Property<string>(x => x.Name);
Bag<Article>(x => x.Articles, x => x.Inverse(true), x => x.ManyToMany(z =>
{
z.Column("Article");
z.Lazy(LazyRelation.Proxy);
}));
}
}
public class ArticleTagMapping : ClassMapping<ArticleTag>
{
public ArticleTagMapping()
{
ManyToOne<Article>(x => x.Article, x => { });
ManyToOne<Tag>(x => x.Tag, x => { });
}
}
public class ArticleMapping : ClassMapping<Article>
{
public ArticleMapping()
{
Id<Guid>(x => x.Id, x => x.Generator(Generators.Guid));
Property<string>(x => x.Content, x => x.Length(4002));
Property<string>(x => x.Title);
Bag<Tag>(x => x.Tags, x =>{ }, x => x.ManyToMany(z =>
{
z.Column("Tag");
z.Lazy(LazyRelation.Proxy);
}));
}
}
Единственная проблема состоит в том, что, когда я генерирую таблицы в базе данных, используя эту схему, у меня есть две дополнительные таблицы. Что я должен изменить, чтобы отключить создание этих двух таблиц (статьи и теги)?
![enter image description here](https://i.stack.imgur.com/uQfh2.png)