簡體   English   中英

沒有HasMany,是否可以將外鍵設置為null?

[英]Is it possible to set foreign key to null without HasMany?

我有實體領地

    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設置為​​NULL?

我需要類似SQL的東西

    ON DELETE set NULL

我想說,必須先刪除實體之間的鏈接,然后才能刪除對象本身,這當然可以通過級聯刪除在數據庫中完成。 另一種方法是以編程方式刪除要刪除的實體與相關表之間的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM