我使用EF4.1 Code First。我有兩個類都與聯繫人類具有一對一的關係。當我在兩個類中的任何一箇中刪除記錄時,我都希望刪除聯繫人類中的關聯條目。EF4.1如何實現CascadeDelete,其中兩個表共享一個表中的記錄?
例如:
public class User
{
public virtual int ID { get; set; }
...
public virtual Contact Contact { get; set; }
}
public class Admin
{
public virtual int ID { get; set; }
...
public virtual Contact Contact { get; set; }
}
public class Contact
{
public virtual int ID { get; set; }
...
}
我嘗試過各種事情註釋和流利的API,但不仍可能設法得到一個級聯刪除工作。在EF 4.1 Code First中實現這一點的正確方法是什麼?
不幸的是這是行不通的,因爲管理用戶是作爲用戶的一部分的AdminGroup的一部分,這意味着用戶有一個聯繫人,但也是一個具有聯繫人的管理員。我可以通過爲用戶和管理員提供兩個不同的聯繫人表來解決這個問題,但是因爲它共享相同的數據,所以只有一個纔有意義。 – JohnCambell