我有实体Territory
class Territory
{
public int Id {get;set;}
public string Title {get;set;}
}
以及一些引用它的实体,例如
class MyObject
{
public Territory Territory {get;set;}
}
并在FluentNHibernate中进行映射
References(x => x.Territory)
.Column("TerritoryId")
.Nullable()
.Not.LazyLoad()
.Cascade.None();
当我删除区域时我有错误:DELETE语句与REFERENCE约束“FK377ABC4DAD038F1B”冲突。冲突发生在数据库“GPM_Test”,表“dbo.MyObject”,列'TerritoryId'。
如何在删除区域之前将nhibernate设置为FK为空?
我需要类似SQL的东西
ON DELETE set NULL
答案 0 :(得分:0)
我会说你必须先删除实体之间的链接才能删除对象本身,这可以通过级联删除在数据库中完成。另一种方法是programmicaly删除要删除的实体和相关表之间的链接。