मेरे पास विदेशी कुंजी के साथ एक से एक संबंध है लेकिन Cascade Delete
किसी कारण से सक्षम नहीं है। नमूना कोड नीचे है।कोड पहले एक-से-एक सक्षम कैस्केड
public class AppRegistration
{
public int AppRegistrationId { get; set; }
[Required]
[StringLength(50)]
[Display(Name = "Username")]
public string UserName { get; set; }
[Required]
[StringLength(100)]
public string Password { get; set; }
[StringLength(20)]
public string StudentOrAgent { get; set; }
// navigation properties
public virtual AppStatus AppStatus { get; set; }
public virtual Agreement Agreement { get; set; }
public virtual AnotherTable AnotherTable { get; set; }
}
विदेशी कुंजी के साथ निर्भर तालिका नीचे है।
public class Agreement
{
[Key]
[ForeignKey("AppRegistration")]
public int AppRegistrationId { get; set; }
public DateTime DateAgreed { get; set; }
public virtual AppRegistration AppRegistration { get; set; }
}
जब मैं उत्पन्न AppRegistrations
तालिका से किसी प्रविष्टि को हटाने का प्रयास मैं एक संदर्भ बाधा संघर्ष मिलता है।
मैं निर्भर तालिका में नेविगेशन संपत्ति पर [Required]
डालने की कोशिश की, लेकिन यह कुछ भी नहीं है - Update-Database
आदेश No pending code-based migrations.
संदेश दिखाता है। कोई विचार? धन्यवाद।
अद्यतन: मैं निम्न त्रुटि संदेश हो रही है:
The DELETE statement conflicted with the REFERENCE constraint "FK_dbo.AppStatus_dbo.AppRegistrations_AppRegistrationId". The conflict occurred in database "MVCapp", table "dbo.AppStatus", column 'AppRegistrationId'.
जवाब के लिए धन्यवाद। मैंने '[आवश्यक]' डालने का प्रयास किया लेकिन कोड-माइग्रेशन का 'अपडेट-डाटाबेस' रिटर्न 'कोई लंबित कोड-आधारित माइग्रेशन नहीं है।' इस के आसपास जाने का कोई तरीका? – erdinger
मैं गलत हो सकता हूं, लेकिन मुझे लगता है कि आप पहली तकनीक का प्रयास नहीं करना चाहेंगे, क्योंकि दोनों दिशाओं में एक-एक-एक रिश्ते को पूरा करना लगभग असंभव है। यदि आप अनुबंध सम्मिलित करने का प्रयास करते हैं, तो आपको बाधा उल्लंघन मिलेगा क्योंकि AppRegistration मौजूद नहीं है, और इसके विपरीत। – AaronLS
@ user2291748 क्या आपने अपडेट-डेटाबेस चलाने से पहले माइग्रेशन जोड़ा था? हारून एलएस, हम्म शायद आप सही हैं, यह सिर्फ कुछ ऐसा है जो दिमाग में आया था। – MattSull