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();
پیشاپیش سپاس
در پروژه من 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();
پیشاپیش سپاس