2011-09-20 12 views
9

मेरे पास दो इकाइयां, छात्र और पाठ्यक्रम हैं। एक छात्र आईडी और पाठ्यक्रम आईडी को देखते हुए, मुझे अपने रिश्ते को हटाने की जरूरत है (जिसका अर्थ है कि कोई छात्र अब उस कोर्स को नहीं लेगा) (कृपया ध्यान दें कि मुझे छात्र और पाठ्यक्रम खुद को हटाने की जरूरत नहीं है, केवल उनके रिश्ते)।दो इकाइयों के बीच रिश्ते को कैसे हटाएं

मैं Students.Courses.Clear() के साथ करने की कोशिश की है, लेकिन यह हर एक कोर्स न कि किसी विशिष्ट एक साफ करता है। धन्यवाद।

संपादित करें: डेटाबेस में, छात्र और पाठ्यक्रम छात्र कॉलर्स तालिका से 2 कॉलम के साथ संबंधित हैं: StudentID और CourseID।

मैं सामान्य रूप से संबंध को दूर करने के पंक्ति को हटा सकता है, लेकिन जब मॉडल डेटाबेस से उत्पन्न किया गया था, यह इस तालिका के लिए एक इकाई का निर्माण नहीं किया। इसके बजाए, छात्र और पाठ्यक्रम एक दूसरे के नेविगेशन गुण हैं और उनकी एसोसिएशन StudentCourse तालिका में सेट है। धन्यवाद।

उत्तर

9

आप एक छात्र, पाठ्यक्रम और दाखिला लिया पाठ्यक्रम की तरह कुछ जो पाठ्यक्रम और छात्र की आईडी रखती होगा। छात्र रिकॉर्ड करते समय बस उस रिकॉर्ड को हटा दें या हटाएं।

एफई में शायद कुछ इस तरह:

courseToRemove = Student.Courses.FirstOrDefault(c => c.Name == "Mathematics"); 
Student.Courses.Remove(courseToRemove); 

फिर अपने परिवर्तन

दया,

डी प्रस्तुत

3

तुम सिर्फ StudentID और CourseID है और आप नहीं चाहते हैं डेटाबेस से Student और इसके सभी Courses लोड करने के लिए आप इस चाल को आजमा सकते हैं:

// Prepare dummy data 
var student = new Student() { StudentID = ... }; 
var course = new Course() { CourseID = ... }; 
student.Courses.Add(course); // Courses must be initialized collection 

using (var context = new YourContext()) 
{ 
    context.Students.Attach(student); 
    // Now context should believe that it has Student with single Course loaded from the database 
    // So remove that link to existing course but don't delete the course  
    student.Courses.Remove(course); 
    context.SaveChanges(); 
} 

यह पीओसीओ के साथ काम करना चाहिए। मुझे यकीन नहीं है कि यह चाल EntityObject बेस इकाइयों के साथ भी काम करती है।

+0

बहुत धन्यवाद @ लद्दीस्लाव, मैं निश्चित रूप से कोशिश करूँगा। –

संबंधित मुद्दे