防止Nhibernate schemaexport生成外键约束有很多关系

Mik*_*enn 13 nhibernate nhibernate-mapping fluent-nhibernate schemaexport

我有这样的映射:

HasMany(x => x.Orders).KeyColumn("CustomerID");
Run Code Online (Sandbox Code Playgroud)

这导致schemaexport生成这样的约束:

alter table [CustomerOrder] 
    add constraint FK45B3FB85AF01218D 
    foreign key (CustomerID) 
    references [Customer]
Run Code Online (Sandbox Code Playgroud)

我尝试在References()映射上添加.NotFound.Ignore(),以禁止生成约束,但这不起作用.

是否可以定义一个映射来强制SchemaExport不生成约束?

Mik*_*enn 22

弄清楚了:

HasMany(x => x.Orders).KeyColumn("CustomerID").ForeignKeyConstraintName("none");
Run Code Online (Sandbox Code Playgroud)

如果名称为"none",则隐藏在源代码中的是检查以忽略创建

  • 谢谢你的发现!我需要这个来防止跨数据库外键>.<对于不流利的用户:foreign-key ="none" (2认同)
  • 在FluentNHibernate的更高版本中,您使用`.ForeignKey("none")`来完成此任务; `.ForeignKeyConstraintName()`不再是一个函数了. (2认同)