সত্তার (বা অবজেক্ট) পদগুলির ক্ষেত্রে আপনার একটি Classঅবজেক্ট রয়েছে যার সংকলন রয়েছে Studentsএবং একটি Studentঅবজেক্টের সংকলন রয়েছে Classes। যেহেতু আপনার StudentClassটেবিলটিতে কেবল আইডি রয়েছে এবং কোনও অতিরিক্ত তথ্য নেই, তাই EF যোগদানের টেবিলের জন্য কোনও সত্তা তৈরি করে না। এটি সঠিক আচরণ এবং এটিই আপনি প্রত্যাশা করেন।
এখন, সন্নিবেশ বা আপডেটগুলি করার সময়, অবজেক্টের দিক থেকে চিন্তা করার চেষ্টা করুন। উদাহরণস্বরূপ, আপনি যদি দুটি শিক্ষার্থীর সাথে একটি শ্রেণি সন্নিবেশ করতে চান, Classঅবজেক্টটি তৈরি করুন , Studentঅবজেক্টগুলি তৈরি করুন, শিক্ষার্থীদের ক্লাস Studentsসংগ্রহে যুক্ত করুন তবে Classঅবজেক্টটিকে প্রসঙ্গে যুক্ত করুন এবং কল করুন SaveChanges:
using (var context = new YourContext())
{
var mathClass = new Class { Name = "Math" };
mathClass.Students.Add(new Student { Name = "Alice" });
mathClass.Students.Add(new Student { Name = "Bob" });
context.AddToClasses(mathClass);
context.SaveChanges();
}
এই একটি এন্ট্রি তৈরি করবে Classটেবিল দুটি এন্ট্রি Studentটেবিল এবং দুটি এন্ট্রি StudentClassতাদের একসঙ্গে লিঙ্ক টেবিল।
আপনি মূলত আপডেটগুলির জন্য একই কাজ করেন। কেবল তথ্য সংগ্রহ করুন, সংগ্রহ থেকে কলগুলি এবং কলগুলি বাদ দিয়ে গ্রাফটি পরিবর্তন করুন SaveChanges। পরীক্ষা করে দেখুন এই একই প্রশ্ন বিস্তারিত জানার জন্য।
সম্পাদনা করুন :
আপনার মন্তব্য অনুসারে, আপনাকে একটি নতুন sertোকানো Classএবং Studentsএটিতে দুটি বিদ্যমান যুক্ত করতে হবে:
using (var context = new YourContext())
{
var mathClass= new Class { Name = "Math" };
Student student1 = context.Students.FirstOrDefault(s => s.Name == "Alice");
Student student2 = context.Students.FirstOrDefault(s => s.Name == "Bob");
mathClass.Students.Add(student1);
mathClass.Students.Add(student2);
context.AddToClasses(mathClass);
context.SaveChanges();
}
যেহেতু উভয় শিক্ষার্থী ইতিমধ্যে ডাটাবেসে রয়েছে, সেগুলি সন্নিবেশ করা হবে না, তবে যেহেতু তারা এখন Studentsসংগ্রহে রয়েছে Class, দুটি প্রবেশিকা StudentClassসারণিতে প্রবেশ করানো হবে ।