[英]Entity Framework Cascade Delete not working
我有兩個表AgentTransmission
和ClearinghousePartners
,它們共享一對多的關系。 每個AgentTransmission
記錄都可以作為許多ClearinhouseParnters
的主體。
這通過AgentTransmission
模型中的List
對象表示。
我已將OnDelete
屬性發送到.edmx文件中的“Cascade”,但是當我嘗試刪除AgentTransmission
對象時,我收到此錯誤。
The DELETE statement conflicted with the REFERENCE constraint
\"FK_ClearinghousePartners_AgentTransmission\". The conflict
occurred in database \"AgentResourcesU01\", table
\"dbo.ClearinghousePartners\", column 'AgtTransId'.\r\nThe
statement has been terminated.
AgentTransmission
這包含一個TON字段,所以我把它減少到只與那些關系相關的字段
public partial class AgentTransmission
{
public int ID { get; set; } //PK
.
.
public virtual List<ClearinghousePartners> ClearinghousePartners { get; set; }
}
信息交換機構合作伙伴
public partial class ClearinghousePartners
{
public int Id { get; set; }
public string ClearingHouseName { get; set; }
public string TradingPartnerName { get; set; }
public Nullable<System.DateTime> StartDate { get; set; }
public int AgtTransId { get; set; } //FK
public virtual AgentTransmission AgentTransmission { get; set; }
}
調節器
這里沒什么可瘋狂的,只是正常刪除。 希望EF刪除AgentTransmission
對象的ClearinghousePartners
List
屬性中的AgentTransmission
對象..我相信它能夠做到(雖然我可能是錯的)
//Cascade deletes set to remove ClearinghousePartners
db.AgentTransmission.Remove(agenttransmission);
db.SaveChanges(); //Exception thrown here
EDMX
on delete設置需要映射到數據庫。 您是否從edmx模型更新了數據庫?
如果您使用的是數據庫優先方法,則還需要確保在數據庫中配置級聯刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.