PDA

View Full Version : مبتدی: ذخیره یک آرایه در دیتابیس



Arashdn
سه شنبه 21 خرداد 1392, 19:35 عصر
سلام دوستان
فرض کنید من دو تا کلاس به این شکل دارم
class A
{
int val1;
int val2;
B[] val3;
}

class B
{
int a;
int b;
string c;
}
و حالا میخوایم کلاس A رو در یه دیتابیس ذخیره کنیم
یعنی ستونی که مربوط به val3 میشه باید خودش یه تیبل دیگه باشه
دقیقا چیکار باید کرد؟
ممنون

parvizwpf
سه شنبه 21 خرداد 1392, 20:07 عصر
البته منظورت از این کار رو نمیدونم بهتر بگی چرا همچین کاری داری انجام میدی؟
یعنی تبدیل یه کلاس به جدول بانک اطلاعاتی ؟

Arashdn
سه شنبه 21 خرداد 1392, 20:14 عصر
البته منظورت از این کار رو نمیدونم بهتر بگی چرا همچین کاری داری انجام میدی؟
یعنی تبدیل یه کلاس به جدول بانک اطلاعاتی ؟
خب من اطلاعات رو به این شکل در کلاسم دارم و لازمه که این کلاس در دیتابیس نوشته بشه ...
حالا دقیقا نمیدونم چجوری باید این کار رو انجام بدم

parvizwpf
سه شنبه 21 خرداد 1392, 20:24 عصر
ببینید این کار ها رو دقیقا با linq و بحث entity framework میتونید انجام بدید. مخصوصا بحث EntityFramework Code First

Arashdn
سه شنبه 21 خرداد 1392, 20:26 عصر
راه ساده تر واسه ما مبتدی ها نداره؟
یعنی اینطوری بگم
بشه کاری کرد که در یه خونه از یه جدول دیتابیس یه جدول دیگه ذخیره بشه (SQL Server)

parvizwpf
سه شنبه 21 خرداد 1392, 20:37 عصر
بشه کاری کرد که در یه خونه از یه جدول دیتابیس یه جدول دیگه ذخیره بشه (SQL Server)
جملت مفهوم نیست . ببین این به کارت میاد یا نه:
http://stackoverflow.com/questions/47239/how-can-i-generate-database-tables-from-c-sharp-classes

Mahmoud.Afrad
سه شنبه 21 خرداد 1392, 20:59 عصر
یک جدول(A) با سه ستون id , val1 , val2 بساز. (id کلید اصلی)
یک جدول(B) با ستون های id , a , b , c , id_A , index بساز. (id کلید اصلی ، id_A کلید خارجی و index برای اینکه اگر اندیس اشیاء داخل آرایه برات مهمه)
درج هم در یک تراکنش انجام میشه به اینصورت که: ابتدا مقادیر val1 , val2 را داخل جدول A ذخیره میکنی بعد کلید این سطر جدید را توسط SCOPE_IDENTITY() بدست میاری. حالا تمام اشیاء داخل آرایه را همراه اندیس و همچنین کلیدخارجی در جدول B ثبت میکنید.