PDA

View Full Version : TypedDatasets And UntypedDatasets



SSP_Software_team
شنبه 22 فروردین 1383, 20:29 عصر
سلام دوستان
من یه سوالی تو ذهنم هست که البته جوابهاش رو هم میدونم ولی نمیدونم کدوم درست تره (استاندارد تره)
اول یه مقدمه سازی :
همونطور که میدونید در ADO.Net دو نوع DataSet داریم
1 – TypedDataset
2 – unTypedDataset

TypedDataset :
این نوع دیتاست به وسیله ی VS.Net ایجاد میشه و در واقع یک کلاس مشتق شده از System.Data.Dataset هستش و ساختار داخلیش از قبیل جداول ، رابطه های بین جداول و .... درScheame ها تعریف میشن از این نوع دیتاست زمانی استفاده میشه که ما از ساختار جدولی که قراره لود کنیم اطلاع داشته باشیم .
UnTypedDataset :
این نوع دیتاست مستقیما باید با کد نویسی ایجاد بشه و تمام ساختار داخلی این نوع دیتاست رو باید به وسیله ی کد ایجاد کنیم و این نوع دیتاست زمانی استفاده میشه که ما از ساختار جدولی که باید لود کنیم اطلاعی نداشته باشیم مثلا گرفتن یک دیتاست از یه برنامه ی دیگه . حتی وقتی که از ساختار اطلاعاتمون اطلاع داشته باشیم میتونیم از این نوع دیتاست استفاده کنیم .
حالا سوالی که من در ذهنم هست اینه
آیا لزومی داره که حتی زمانی که از ساختار جداول و اطلاعات خودمون اطلاع داریم از TypedDataset استفاده کنیم ؟ استفاده از کدومشون در این جور مواقع استاندارد تر هست ؟
یه نکته هم اینجا هست که حتی اگر از ساختار اطلاعاتمون اطلاع داشته باشیم میشه از untypedDataset ها استفاده کرد ولی استفاده از TypedDataset ها در مواقعی که از ساختار اطلاعاتمون اطلاعی نداریم نتنها کارساز نیست بلکه کاملا غیر منطقیه . و البته در بیشتر موارد ما از ساختار اطلاعاتمون اطلاع داریم.
حالا اگر شما به عنوان یه برنامه نویس که در حال تهیه ی یک برنامه ی این فرمی هستید کدوم راه رو انتخاب میکنین و اینکه همونطور که گفتم لطفا بگین کدوم راه استاندارد تره؟ اصلا هم کاری به راحتیه اون روش ندارم فقط میخوام بدونم کدومش استاندارد تره؟
با تشکر

amir_king2_2
یک شنبه 17 خرداد 1383, 08:36 صبح
کمتر مواقعی پیش اومده که از TypedDataset استفاده کردم. بیشتر مواقع UnTypedDataset به دردم میخوره. چون خیلی راحت میتونم روش اکشن بگیرم. به راحتی با ساختار داخلیش و جداول و Query هاش کار کنم و به عبارت دیگه مثل موم به هر شکلی که بخوام ازش استفاده کنم...
از نظر من که این استاندارد تره با اینکه سخت تر از نوع مشخص شدش هست.

h_rezaei
دوشنبه 18 خرداد 1383, 13:47 عصر
برای Typed DataSet ها باید ابتدا یک SubClass از کلاس DataSet ساخت (از اکلاس دیتاست ارث برده می شود) بعد آبجکت لازم را از آن کلاس Instance نمود در حالی که Untyped دیتا ستها مستقیما آبجکت خود را از کلاس دیتاست Instance می کنند .
برای کارها روتین استفاده از Typed DataSet ها بهتره ولی در جایی که خیلی از ساختار DataTable هامون اطلاع نداشته باشیم این نوع از دیتا ست توصیه میشه . نمونه رایجش در برنامه هایی که به شکال 3tier (یا بیشتر) نوشته می شوند در لایه(یا لایه های) میانی استفاده از آن بسیار مرسوم است .