PDA

View Full Version : سوال: مشکل در Associations در Linq to Sql



rezamansori
جمعه 28 تیر 1392, 11:36 صبح
با عرض سلام
در پروژه من 3 جدول در پایگاه داده وجود دارند ، پرسنل ، بخش و فعالیت.
من این سه جدول را در Object Relational Designer وارد کردم و بین بخش و پرسنل رابطه ی OneToMany و همچنین بین پرسنل و فعالیت هم این رابطه را ایجاد کردم. هدفم این است که هر پرسنل صفر یا چندید فعالیت داشته باشد و هر بخش نیز صفر یا چندید پرسنل داشته باشد.
مشکل اینجاست که در هنگامی که یک شی از نوع پرسنل درست میکنم و آنرا به وسیله ی متد InsertOnSubmit برای ذخیره شدن به دیتابیس به لینک میفرستم خطای زیر رخ میدهد.
Object reference not set to an instance of an object.
وقتی رابطه بین فعالیت و پرسنل را به OneToOne تغییر میدهم هیچ مشکلی پیش نمی آید و پرسنل ذخیره میشود!
به من گفته شده که فیلد ها را Nullable معرفی کنم اما جدول فعالیت خود دارای فیلد ID هست که نمیتواند نال باشد.
سعی کردم قبل از ساخت یک پرسنل ابتدا فعالیت را بسازم اما بازهم تلاشم ناموفق بود.
این کد ساخت یک پرسنل و ذخیره آن است :
Personnel p = new Personnel(txtPName.Text.Trim(), txtPFamily.Text.Trim(), int.Parse(txtDailyPay.Text.Trim()));
p.Documents = PersonnelDoc;
db.Personnels.InsertOnSubmit(p);
db.SubmitChanges();
پیشاپیش سپاس

parvizwpf
شنبه 29 تیر 1392, 01:26 صبح
احتمالا توی هنگام تعریف این جدول ، فیلد رابطه رو طوری نوشتید که کاربر مستلزم ورو اون باشه و نال نپذیره.
کد ساخت جداول رو هم بزارید.

Mahmoud.Afrad
شنبه 29 تیر 1392, 06:34 صبح
همین سه جدول؟ اگر همین سه جدول را برای این ارتباط ها دارید طراحی دیتابیس ناقصه. یک جدول واسطه برای مشخص کردن رابطه پرسنل با بخش و یک جدول واسطه هم برای رابطه پرسنل با فعالیت ها نیاز دارید.

اگر بتونید اسکریپت جداول رو بزارید تست کنیم بهتره.