PDA

View Full Version : خواندن نام جدول دیتابیس از یک رشته در انتیتی فریمورک



samiasoft
یک شنبه 12 آبان 1398, 22:40 عصر
سلام وقت بخیر

فرض کنید میخواهیم اطلاعات رو از یک دیتابیس بوسیله انتیتی فریمورک بخونیم و در دیتاگرید نمایش بدیم ...طبیعتا چنین دستوری مینویسیم :

using (databaseEntities database = new databaseEntities()) {
var records = (from rows in database.tbl_sample

select new
{
rows.id,
rows.family,
}).ToList();


myDataGridView.DataSource = records;
}

حالا سوالی که داشتم این هستش که ایا میتوان در دستور بالا نام جدول رو از یک رشته ثابت خوند ؟

حقیقتش من چندین جدول دارم با ستون های مشابه اما نام جدول اونا فرق داره و نمیخوام برای هرکدومشون این دستور رو بنویسیم...میخواستم هرکدام از جدول ها که نامشون در اون رشته بود در این دستور استفاده بشه.

یا بطور ساده بخوام سوالمو بپرسم :

http://s6.picofile.com/file/8377160468/2019_11_03_230906.jpg


یا میخواستم بیام اینطور بنویسیم :
object myRow = database.tbl_sample;

var records = (from rows in myRow


...
که خب نوع object رو باید چه چیزی انتخاب کنم تا این رو بشناسه؟! (بجای object از چیزی باید اینجا استفاده کنم؟)

http://s7.picofile.com/file/8377166526/2019_11_04_002650.jpg



ممنون میشوم راهنمایی کنید.

samiasoft
دوشنبه 13 آبان 1398, 00:26 صبح
از نوع var اومدم تعریف کردم و نوعشو به درستی شناخت...خب حالا شرطم رو اینطور نوشتم :

string tbl_name == "tbl_sample_1"

var myRow = database.tbl_sample_1;
if(tbl_name == "tbl_sample_2")
{
myRow = database.tbl_sample_2;
}


حالا مشکل اینه که database.tbl_sample_2 نمیتونه این var روقبول کنه....خطایی که ظاهرشده بدین معنیه که قبلا این var به جدول دیگری اختصاص یافته شده....

من اومدم قبلش myRow = null هم کردم تاثیری نداشت....