সত্তার (বা অবজেক্ট) পদগুলির ক্ষেত্রে আপনার একটি 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
সারণিতে প্রবেশ করানো হবে ।