PDA

View Full Version : مبتدی: مقایسه ado.net و EF



ahmadreza.s
شنبه 24 مرداد 1394, 16:46 عصر
سلام

من برنامم رو با EF Designer from DataBase نوشتم و دیتابیسم حدود 100 هزار داده داره که کاربر نمیتونه اونارو حذف یا اضافه کنه فقط میتونه اونارو بخونه !

حالا سوالم اینه :
چون من سرعت برام خیلی اهمیت داره ، ado.net بهتره تو سرعت یا ef؟


راستی یه سوال دیگه :
فرق بین EF Designer From DataBase و Code First From DataBase چیه؟
من تازه شروع به برنامه نویسی با پایگاه داده کردم و هنوز بعضی چیزا برام گنگن ...

RmeXXXXXXXXX
شنبه 24 مرداد 1394, 20:02 عصر
مسلماً هیچ برنامه نویسی به ef نه نخواهد گفت مگر شرایط خاصی باشه...
اگر فقط داده ها readonly باشند یا فقط جهت افزودن به کار روند با تنظیم ef بطور سفارشی میتونید سرعت ش رو بسیار زیاد نمائید.
ef یک تکنولوژی دوست داشتنی ست. بسادگی میتونید آزمون واحد ایجاد کنید، تراکنش داشته باشین و از همه مهم تر از سایر تکنولوژی های تکمیلی دیگه (جهت تزریق وابستگی (توصیه شده structremap) و نگاشت های خودکار(AutoMapper)) بسادگی بهره مند شوید. حتماً باهاش کار کنید. اوایل یکم سختتون خواهد بود ولی بعداً لذت کد نویسی رو تجربه خواهید کرد.
در مورد سوال دوم هم بگم که:
شما میتونید یه پایگاه داده بسازید - یا از قبل دارید و بعد ef رو بهش متصل کنید: روش database first
میتونید دیزاین جداول و روابط و ... رو به ef بدین تا براتون ایجاد کنه پایگاه رو
میتونید هم اول کدهای مربوط به پایگاه داده رو بنویسید و بعد با اجرای برنامه و تنظیم یک initialize خوب ایجاد یا بروز رسانی پایگاه داده رو بطور خودکار براتون انجام بده. روش code first

ahmadreza.s
شنبه 24 مرداد 1394, 22:55 عصر
سلام خيلي خيلي خيلي ممنونم بابت توضيحات كاملتون :قلب:

مثلن چطور ميشه ef رو طوري سفارشي كرد كه سرعت اون بالا بره؟

يعني برنامم جوريه كه كاربر اصلن نميتونه چيزي به برنامه اضافه كنه ! فقط اجازه ي خوندن رو داره و بس ...
و مثلن هر 4 روز يه بار من يه آپديتي قرار ميدم كه داده هاي بانكمو اضافه كنه !

ممنون ميشم بار ديگه كامل جواب بديد:تشویق:

arash21hhhh
یک شنبه 25 مرداد 1394, 09:44 صبح
حرفهای دوستمونو تا حدودی قبول دارم ولی Ef ایجاد شد تا روند کد نویسی و توسعه رو سریع کنه و یک لایه بالاتر از ADO قرار می گیره ، در نتیجه نمیشه گفت از ADO سریعتره .

SabaSabouhi
یک شنبه 25 مرداد 1394, 12:22 عصر
حرفهای دوستمونو تا حدودی قبول دارم ولی Ef ایجاد شد تا روند کد نویسی و توسعه رو سریع کنه و یک لایه بالاتر از ADO قرار می گیره ، در نتیجه نمیشه گفت از ADO سریعتره .

سلام
طبیعی هست که از ADO.Net کندتر باشه، اما زمان تولید نرم‌افزار و به طبع اون هزینه‌ی تولید رو پایین میاره.
و این امر در مقایسه با زمان اندکی که پاسخ به queryها کند‌تر می‌شه به شدت به صرفه هست.
مثلاً اگه برنامه‌نویس بخواد با زبان ماشین برنامه بنویسه و بجای Sql Server از Btrieve ( قدیمی‌ترها احتمالاً می‌شناسن )
استفاده کنه، حتماً سرعت برنامه حداکثر خواهد بود، اما انجام یه پروژه‌ی بزرگ تقریباً یک عمر طول خواهد کشید.

صبا صبوحی