是否可以在没有HasMany的情况下将外键设置为null
本文关键字:设置 null 情况下 HasMany 是否 | 更新日期: 2023-09-27 18:22:19
我有实体Territory
class Territory
{
public int Id {get;set;}
public string Title {get;set;}
}
以及一些引用它的实体,如
class MyObject
{
public Territory Territory {get;set;}
}
和FluentHibernate 中的映射
References(x => x.Territory)
.Column("TerritoryId")
.Nullable()
.Not.LazyLoad()
.Cascade.None();
当我删除区域时,我有错误:DELETE语句与REFERENCE约束"FK377ABC4DAD038F1B"冲突。冲突发生在数据库"GPM_Test"、表"dbo.MyObject"、列"TerritoryId"中。
如何在删除区域之前使nhibernate将FK设置为NULL?
我需要类似于SQL 的东西
ON DELETE set NULL
我想说,在删除对象本身之前,必须先删除实体之间的链接,当然,这可以在数据库中通过级联删除来完成。另一种方法是通过程序删除要删除的实体和相关表之间的链接。