نمایش نتایج 1 تا 3 از 3

نام تاپیک: آیا استفاده از EntityFrameWork برای پروژه های بزرگ واقعا مشکل ساز میشه؟

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1390
    محل زندگی
    آذربایجان-تبریز
    پست
    62

    Question آیا استفاده از EntityFrameWork برای پروژه های بزرگ واقعا مشکل ساز میشه؟

    باسلام خدمت اساتید محترممنبه صورت جداگانه از چند برنامه نویس حرفه ای شنیدم که گفتن EF برایپروژه های بزرگ جواب نمیده.حتی آخرین ورژنش.حالا میخواستم نظر شما اساتید رو بدونم.ازاینترنت هم جواب های ضد و نقیض پیدا کردم.اگه واقعا مناسب نیست پس مشکل Ado.Net برای پروژه های بزرگ رو چجوری میشه حل کرد
    ممنون میشم اساتید راهنمایی کنن.

  2. #2

    نقل قول: آیا استفاده از EntityFrameWork برای پروژه های بزرگ واقعا مشکل ساز میشه؟

    بستگی به کد نویسی خودتون هم داره .
    شما میتونید بجای EF از Dapper استفاده کنید که در مقایسه با EF سرعت بیشتری داره ، اما دقت شما در Dapper تقریبا SP مینویسید و این خودش باعث دیرتر توسعه دادن برنامتون میشه .
    میتونید Benchmark های هرکدوم رو ببینید و مقایسشون کنید که از کدوم استفاده کنید : https://www.exceptionnotfound.net/da...-benchmarking/

  3. #3
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: آیا استفاده از EntityFrameWork برای پروژه های بزرگ واقعا مشکل ساز میشه؟

    نقل قول نوشته شده توسط valentine093 مشاهده تاپیک
    باسلام خدمت اساتید محترممنبه صورت جداگانه از چند برنامه نویس حرفه ای شنیدم که گفتن EF برایپروژه های بزرگ جواب نمیده.حتی آخرین ورژنش.حالا میخواستم نظر شما اساتید رو بدونم.ازاینترنت هم جواب های ضد و نقیض پیدا کردم.اگه واقعا مناسب نیست پس مشکل Ado.Net برای پروژه های بزرگ رو چجوری میشه حل کرد
    ممنون میشم اساتید راهنمایی کنن.
    اتفاقا برعکس عدم استفاده از EF هم موجب اتلاف زمان و هم احتمال بروز خطا به دلیل "عدم نوشتن کوئری های بهینه" رو افزایش میده.
    ببینید باید اول منظور از پروژه بزرگ رو معین بکنیم. مثلا به چی میگن پروژه بزرگ؟؟؟
    پروژه ای که 380 جدول با متوسط 45 میلیون رکورد و متوسط افزودن 200 هزار رکورد در روز رو من با EF پیاده سازی کردم و الان هم نزدیک به دو سال داره کار میکنه و حتی یک مورد خطا هم گزارش نشده. در حالیکه تا قبل از EF و به دلیل علاقه خاصی که SPها داشتم و همیشه از مکانیزمی شبیه به Dapper و البته نزدیک به EF استفاده میکردم دچار مشکلات زیادی میشدم که واقعا هم اجتناب ناپذیر هستند.
    از لحاظ سرعت اجرای کوئری طبیعی هست که ORM ها سرعتشون پایینتر هست چون به عنوان یک لایه بالای لایه اصلی داده عمل میکنن و دسترسی به لایه زیرین خود مستلزم زمان هست ولی باید همه فاکتورها رو در نظر گرفت.
    در کل اگر نرخ واکشی و سرعت بالای اطلاعات (برای مثال سیستمهای بلادرنگ) مدنظر باشه خب طبیعی هست که سرعت هیچ ORM برای اینکار مناسب نیست ولی اگر سیستمهای معمول (حتی پروژه ای که من ذکر کردم) مدنظر باشه مطمئنا شما نه فقط دچار مشکل نمیشید که برعکس سبب جلوگیری از بسیاری از مشکلات هم میشه.
    راه حل بعدی برای پروژه های خیلی خیلی خیلی بزرگی که تو ذهن شماست اینه:
    پروژه رو با EF پیاده سازی و اجرا کنید. بعد که به انتهای کار رسیدین تمام کوئری های تولید شده توسط EF رو بصورت SP ذخیره و لایه دسترسی به داده رو با کلاس مورد نظرتون عوض کنید. این مورد هم خودم تجربه کردم و کلا زمان مورد نیاز برای تعویض لایه داده فقط 2 هفته زمان برد.
    ایراد بزرگ EF:
    در عملیات Update و Delete شما ابتدا باید رکورد رو پیدا و سپس "حذف یا آپدیت" کنید یعنی دوتا "دستور العمل" پر هزینه رو باید اجرا کنید در حالیکه میشه مستقیما اینکار رو با یک کوئری انجام داد که به سبب ماهیت EF باید خودتون دست به کار بشید و این عملیات رو انجام بدین.
    نکته: تمامی دستورات Insert, Upadate, Delete رو میشه بصورت SP توی خود دیتابیس و توسط EF ذخیره کرد و تنها کوئری های Select رو نمیشه به SP تبدیل کرد.
    نکته: شما میتونید SP و EF رو باهم ادغام کنید چون EF پشتیبانی کاملی از SPها داره.
    یادآوری: SP منظور همون Stored Procedure هست.

تاپیک های مشابه

  1. ایا Entity Framework برای پروژه های بزرگ کارایی بالایی دارد؟
    نوشته شده توسط Twoplus2010 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 25 بهمن 1395, 21:30 عصر
  2. سوال: ایا Entity Framework برای پروژه های بزرگ کارایی بالایی دارد؟
    نوشته شده توسط Twoplus2010 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: یک شنبه 24 بهمن 1395, 23:45 عصر
  3. سوال: آیا میتوان از wpf در پروژه های بزرگ استفاده کرد
    نوشته شده توسط amir3321 در بخش WPF
    پاسخ: 9
    آخرین پست: شنبه 20 مهر 1392, 13:44 عصر
  4. سوال: آیا MVC برای پروژه های بزرگ کارایی داره ؟
    نوشته شده توسط reza-alborz در بخش ASP.NET MVC
    پاسخ: 6
    آخرین پست: جمعه 22 دی 1391, 13:45 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •