संभावित कारण यह है कि आपको कैस्केडिंग डिलीट क्यों नहीं मिलता है यह है कि आपका रिश्ते वैकल्पिक है। उदाहरण:
public class Category
{
public int CategoryId { get; set; }
}
public class Product
{
public int ProductId { get; set; }
public Category Category { get; set; }
}
इस मॉडल में आप एक उत्पाद तालिका जो श्रेणी तालिका के लिए एक विदेशी कुंजी है मिलेगा लेकिन इस कुंजी नल है और कोई व्यापक डिफ़ॉल्ट रूप से डेटाबेस में सेटअप को नष्ट नहीं है।
एनोटेशन:
public class Product
{
public int ProductId { get; set; }
[Required]
public Category Category { get; set; }
}
Fluent एपीआई:
आप रिश्ते फिर आवश्यक है करने के लिए चाहते हैं तो आप दो विकल्प हैं
modelBuilder.Entity<Product>()
.HasRequired(p => p.Category)
.WithMany();
हटाना व्यापक दोनों ही मामलों में स्वचालित रूप से विन्यस्त किया जाएगा ।
आप संबंध है वैकल्पिक लेकिन व्यापक साथ हटाना चाहते हैं तो आप इस पर स्पष्ट रूप विन्यस्त करने की जरूरत:
modelBuilder.Entity<Product>()
.HasOptional(p => p.Category)
.WithMany()
.WillCascadeOnDelete(true);
संपादित करें: पिछले कोड में स्निपेट को भी बस .WillCascadeOnDelete()
लिख सकते हैं। कैस्केडिंग डिलीट सेट अप करने के लिए यह पैरामीटर रहित अधिभार true
पर डिफ़ॉल्ट है।
FK की आवश्यकता है (गैर-व्यर्थ) documentation
में इस बारे में अधिक देखते हैं? ऐसे मामले में कैस्केड हटाना 'OneToManyCascadeDeleteConvention' द्वारा उत्पन्न किया जाना चाहिए। –
@ लाडिस्लाव: क्या सामान्य 'इकाई-ढांचे' टैग को हटाने के लिए यह अच्छा है? मैं बस सोच रहा था कि मेरे पसंदीदा टैग के तहत प्रश्नों से अचानक यह प्रश्न गायब क्यों हुआ। मैंने अब 'इकाई-फ्रेमवर्क-4.1' और' इकाई-फ्रेमवर्क -4' और ... और ... और ... जोड़ा है लेकिन यह उन सभी टैग को जांचने के लिए अब थोड़ा सा हो रहा है। मुझे यकीन नहीं है कि प्रश्न पर टैग को धीरे-धीरे विशेषज्ञता देने का पदानुक्रम बेहतर नहीं होगा। मुझे एक जोखिम दिखाई देता है कि कम पाठक केवल बहुत ही विशेष टैग वाले प्रश्न देखेंगे जो प्रश्नकर्ता के हित में नहीं हैं। – Slauma
@ स्लुमा: मैं सहमत हूं, लेकिन या तो हम ईएफ 4 और ईएफ 4.1 टैग दोनों को बंद करने पर जोर देंगे और हम केवल ईएफ टैग (जो कि मैं सही तरीका है) का उपयोग करूंगा या हम उनकी सामग्री के आधार पर प्रश्न टैग करेंगे। मैं इस विषय के बारे में मेटा पर जल्द ही प्रश्न खोलूंगा, क्योंकि ईएफ टैग के साथ और समस्याएं हैं। –