7

我在 Fluent NHIbernate 中使用 AutoPersistenceModel 来映射我的所有实体,并且一切正常:D

但是,我的几个对象有

public virtual IList<Comment> Comments { get; set; }

在数据库中只有一个评论表,每个带有上述代码的实体都有自己的评论链接表。

目前我正在做的是:

public class ContractMappingOverride : IAutoMappingOverride<Contract>
{
    public void Override(AutoMap<Contract> mapping)
    {
        mapping.HasManyToMany(x => x.Comments)
            .WithTableName("Comment_Contract");

对于每个实体。

有什么方法可以设置一个约定,其中所有到 IList<Comment> 的映射都自动连接到上面的表名称约定中的 manytomany?

谢谢

安德鲁

4

2 回答 2

5

我知道这不是你想听到的,但答案是否定的。

在 Fluent NHibernate 的当前设计中,没有办法在了解它们所使用的类型的同时将约定应用于集合,您可以将某些东西应用于所有集合,而不取决于它们包含的类型。这是我们设计中的一个缺陷,我的目标是纠正这个问题,但这是一个相当大的变化,所以它不会在一夜之间发生。

我建议您查看我们的邮件列表,我们通常会在那里发布更新。

抱歉,我不能提供更多帮助。

于 2009-02-13T20:46:46.133 回答
0

自从我使用 Fluent NHibernate 已经有一段时间了,现在我才刚刚回到它的摇摆状态(哇,自 09 年初以来发生了很多变化!)我认为你现在问题的答案是肯定的,你可以做到这与 OverideAll 功能。

查看FNH wiki 上的Overrides 。

于 2009-12-16T21:05:57.030 回答