1

我正在使用最新版本的 Fluent NHibernate 自动映射。我可以设置任何约定或属性来停止在所有表中创建外键约束吗?我有近 200 个类,所以我不能去每个单独的类和属性名称并设置

 ForeignKeyConstraintNames("none", "none") 

我们如何在 Automapping 中添加 ForeignKeyConstraintNames("none", "none")?我不想硬编码表名或列名。我想让 AutoMapping 创建所有没有外键的映射。基本不会在数据库中创建任何外键。我们应该怎么做?这里有类似的帖子,但我并不清楚答案。

4

1 回答 1

1

一个简单的约定

public class NoForeignKeys : IReferenceConvention, IHasManyConvention
{
    public void Apply(IManyToOneInstance instance)
    {
        instance.ForeignKey("none");
    }

    public void Apply(IOneToManyCollectionInstance instance)
    {
        instance.Key.ForeignKey("none");
    }
}

// use it
AutoMap.AssemblyOf().Conventions
    .FromAssembly() or .Add(typeof(NoForeignKeys))
于 2013-05-31T10:07:19.200 回答