PDA

View Full Version : استفاده از ado.net يا SqlDataSource ؟



ایمان مدائنی
شنبه 20 آذر 1389, 10:56 صبح
سلام دوستان من تازه asp ياد گرفتم
مي خواستم بدونم استفاده از ado.net سرعت بيشتري داره يا sqlDataSource ؟
چون من در ado.net مهارت زيادي دارم ولي در هر مرجعي كه خوندم بيشتر درباره SqlDataSource توضيح داده بود
گفتم از شما مهندسان بپرسم تا بفهمم نظر شما چيه ؟

bfreind10
شنبه 20 آذر 1389, 19:16 عصر
در دات نت SqlDataSource بهتره. چون خیلی راحت بعدش میتونید ارتباطش بدید به عناصر. از نظر سرعتی من یه مقاله انگلیسی خوندم بهتره

Mostafa_Dindar
شنبه 20 آذر 1389, 22:31 عصر
سلام دوستان من تازه asp ياد گرفتم
مي خواستم بدونم استفاده از ado.net سرعت بيشتري داره يا sqlDataSource ؟
چون من در ado.net مهارت زيادي دارم ولي در هر مرجعي كه خوندم بيشتر درباره SqlDataSource توضيح داده بود
گفتم از شما مهندسان بپرسم تا بفهمم نظر شما چيه ؟

این دو از جنس هم نیستند و مقایسه آنها صحیح نیست .

ADO.NET یک تکنولوژی دسترسی به داده ها در فریم ورک دات نت هست . بعبارتی یک Data Access Technology که شامل چندین فضای نام هست که هر کدام از این فضای نامها , کلاسهای زیادی برای ارتباط با بانکهای اطلاعاتی و دسترسی به اونها دارند . به عنوان نمونه فضای نام System.Data.SqlClient شامل کلاسهای SqlConnection, SqlCommand , SqlDataReader هست .

در حالی که SqlDataSource یک کنترل دسترسی به داده در کنار دیگر کنترل های دسترسی به داده مثل ObjectDatasource , LinqDataSource , XmlDataSource , .... . بعبارتی شما از این کنترل های استفاده میکنید تا نیازی نباشد به جزئیات کار با کلاسهایی مثل SqlConnection, SqlCommand , SqlDataReader بپردازید .

استفاده از SqlDatasource ساده ترین کنترل دسترسی داده هست که اغلب در کتابهای آموزشی مقدماتی برای سهولت به کار گرفته میشه .

ایمان مدائنی
یک شنبه 21 آذر 1389, 10:00 صبح
خب حالا شما كه تجربه در زمينه اي اس پي داريد از كدوم استفاده ميكنيد ؟

aserfg
یک شنبه 21 آذر 1389, 10:24 صبح
دوست عزیز شما فکر می کنید sqldatasourceبه چه وسیله ای کار با داده ها رو انجام می ده . اون هم با استفاده از ado.net این عملیاتها رو انجام می ده . فقط شما با این کدها درگیر نمی شید . sql datasource ابزاری است برای کار با ado.net بدون کد نویسی . و همون طور که آقای دیندار گفتند مقایسه ای نمی تواند بین این دو انجام شود .

imanasp
یک شنبه 21 آذر 1389, 16:54 عصر
خب حالا شما كه تجربه در زمينه اي اس پي داريد از كدوم استفاده ميكنيد ؟
من به شخصه از ado.net استفاده می کنم چون کد توی مشتته و میتونی هر کاری داری باهاش انجام بدی کلا استفاده از ویزاردها دردسرهای خاص خودشو داره مثلا شما وقتی توی بانکت اینزرت می کنی چطوری میخای چک کنی که این اطلاعات توی بانک به درستی ذخیره شدن ولی با فرمانهای تکنولوژی ado.net خیلی راحت اینو بررسی می کنی

Mostafa_Dindar
یک شنبه 21 آذر 1389, 17:48 عصر
خب حالا شما كه تجربه در زمينه اي اس پي داريد از كدوم استفاده ميكنيد ؟

این بستگی به شیوه کد نویسی شما داره ,
در کل SqlDataSource گزینه نسبتا ضعیفی هست ,در ابتدا کار را آسان میکند ولی انعطاف پذیری را کم .

در صورتی که با کار اشیاء ADO.NET آشنا باشید , خودتون میتونید از این آشیا استفاده کنید ولی بعد از کمی کد نویسی متوجه خواهید شد , بخش خیلی زیادی از مدت برنامه نویسی رو صرف اعمال تکراری دستیابی به داده ها میکنید , در صورتی که عمده فعالیت برنامه نویس باید صرف راه حل , بعبارتی Solution بشه . در اینجا میتونید از SQL Helper هایی مثل Microsoft.ApplicatoinBlock.Data (http://www.microsoft.com/downloads/en/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&displaylang=en) استفاده کنید .

استفاده از ObjectDataSource گزینه خوبی هست که همراه با دات 2 عرضه شد . شما میتونید کاملا به صورت چند لایه کد نویسی کنید , متدهایی در لایه های متفاوت مینویسید که ObjectDataSource از آنها استفاده میکند و کد نویسی شما در عین حال که انعطاف پذیر هست , آسان هم میشود . در این حالت هم استفاده از SQL Helper هایی مثل Microsoft.ApplicatoinBlock.Data (http://www.microsoft.com/downloads/en/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&displaylang=en) در لایه دیتا پیشنهاد میگردد .
استفاده از ObjectDataSource مزایایی نسبت به کار مستقیم با اشیاء ADO.NET دارد که قابل اغماض نیست .

در صورتی با Linq 2 Sql آشنا باشید , LinqDataSource گزینه ای است که در عین حال مثل SqlDataSource استفاده از اون ساده هست , کارایی بسیار بالایی دارد . در linq 2 sql هم میتونید از LinqDataSource استفاده کنید و هم مستقیما از DataContext استفاده کنید .
گفته شده در صورتی که تازه کار هستید و با اشیاء ADO.NET آشنایی ندارید , نیازی نیست وقت خود را صرف یاددگیری ADO.NET کنید . زیرا در LINQ TO SQL نیازی نیست به آنها مسلط باشید , ولی به نظر من آشنایی به ADO.NET به درک شما بسیار کمک خواهد کرد , زیرا LINQ TO SQL در نهایت از ADO.NET استفاده میکند .
در کل باLinq To Sql سرعت Develope کردن پروژه بسیار سریعتر خواهد بود و اون رو واسه توسعه سیستمهای کوچک و متوسط مناسب دونستند .

EntityDataSource هم موردی است که در صورتی در روی پروژه های بزرگ کار میکنید مناسب است . پیچیدگی های خاص خود را دارد و همچنین انعطاف پذیری ...

aserfg
دوشنبه 22 آذر 1389, 07:30 صبح
سلام . جناب دیندار اگه کمی راجع به Microsoft.ApplicatoinBlock.Data (http://www.microsoft.com/downloads/en/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&displaylang=en) توضیح بدین خیلی ممنون می شم دانلودش کردم ولی تا حالا با هاش کار نکردم روش کارش چطوریه؟