【发布时间】:2011-05-11 19:20:34
【问题描述】:
我有一个一对多的关系:
对象报告类别:
Table("RCA_REPORT_CATEGORY");
Id(r => r.Id, "RCA_ID");
Map(r => r.Name, "RCA_NAME");
HasMany<Report>(r => r.Reports)
.Table("REP_REPORT")
.KeyColumns.Add("REP_RCA_ID").Cascade.None();
对象报告:
Table("REP_REPORT");
Id(r => r.Id, "REP_ID");
Map(r => r.Name, "REP_NAME");
References(r => r.Category, "REP_RCA_ID")
.Cascade.None();
REP_REPORT.REP_RCA_ID 上有一个外键引用 RCA_REPORT_CATEGORY.RCA_ID。
当我删除具有报告的 ReportCategory 时,它可以工作,并且报告表中的 REP_RCA_ID 列设置为 NULL。 但我不想那样。我想抛出一个异常并告诉我该类别不能被删除,因为它被报告使用并且它违反了外键约束。我怎样才能做到这一点?
【问题讨论】:
标签: .net database fluent-nhibernate nhibernate-mapping