2017-03-27 87 views
0

我正在使用實體框架從表中刪除一個對象。實體框架使刪除孤立對象

public class Application { 
    public int ApplicationId { get; set; } 
    public FundingInfo FundingInfo { get; set; } 
    .... 
} 

public class FundingInfo { 
    public long FundingInfoId { get; set; } 
    .... 
} 

當我刪除該應用程序,它留下孤立的FundingInfo條目。創建遷移時,在應用程序上創建的PK(FundingInfoId)設置爲onDelete: ReferentialAction.Restrict我將其更改爲設置爲onDelete: ReferentialAction.Cascade,並且它仍將此條目保留在Funding Info中。

如何讓實體級聯刪除1對1對象?我希望Application中的FundingInfo對象能夠爲空...但是如果在刪除對象時它不爲null,它也應該刪除FundingInfo對象?

顯然我可以手動刪除它,但這是許多1對1孤立的對象之一,我希望能夠避免遍歷與一堆循環的對象。

+0

添加代碼如何設置EF中兩個類之間的關係。順便說一句,網絡上有很多關於如何配置EF關係的示例/教程,最好的選擇是使用EF-FluentAPI –

回答

0

使其成爲必需並且級聯刪除將被啓用。

public class Application { 
    public int ApplicationId { get; set; } 
    [Required] 
    public FundingInfo FundingInfo { get; set; } 
    .... 
} 

public class FundingInfo { 
    public long FundingInfoId { get; set; } 
    .... 
}