بهار آموزش با تخفیف های شگفت انگیز توسینسو بهار آموزش با تخفیف های شگفت انگیز توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

آیا EntityFramework برای پروژه های بزرگ و سنگین مشکل ساز است؟

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

پرسیده شده در 1396/02/04 توسط

3 پاسخ

0

سلام

استاد فرموده اید

(توسط ADO.NET اجرا بشه تا داخل نرم افزار کندی وجود نداشته باشه)

یعنی می توانیم با ef کلاسها (جداول)را تعریف کنیم و کدهامربوطه را بصورت sp,view در ef بنویسیم و برنامه را اجرا کنیم ؟

یا اصلا از ef استفاده نکنیم؟

باتشکر

پاسخ در 1396/02/14 توسط
1

سلام و عرض ادب، چیزی که شنیدین کاملاً درسته، مکانیزم Entity Framework به صورت خیلی سنگین مبتنی بر Reflection هست برای Map کردن کلاس ها به جداول بانک اطلاعاتی، علاوه بر اون قابلیتی داخل EF وجود داره به نام Change Tracker که زمان گرفتن کوئری از بانک اطلاعاتی یک نسخه اولیه از هر Entity نگه داری می کنه برای Update کردن Entity های تغییر داده شده که همین موضوع باعث کند شدن گرفتن نتایج از Database میشه، البته میشه این قابلیت رو در صورت نیاز غیر فعال کرد، از طرفی دیگه بعضی از کوئری هایی که EF تولید میکنه به هیچ عنوان بهینه نیست. به همین خاطر بهتره که برای کوئری گرفتن از جداول و کوئری های پیچیده این کوئری به صورت مستقیم و توسط ADO.NET اجرا بشه تا داخل نرم افزار کندی وجود نداشته باشه. نمونه ای از این مشکل در نسخه های اولیه راهکاران شرکت همکاران سیستم وجود داشت که با بالا رفتن حجم بانک اطلاعاتی واکشی اطلاعات به شدت کند می شد که ظاهراً در نسخه های جدید این مشکل برطرف شده. برای مسائلی مثل درج و به روز رسانی اطلاعات هم بستگی به شرایط داره، خیلی اوقات مشکلی ایجاد نمی کنه عملیات های درج و به روز رسانی، اما برای درج رکورد های زیاد یا به روز رسانی اطلاعات به صورت گروهی بهتره که دستورات به صورت مستقیم در ADO.NET اجرا بشن.

پاسخ در 1396/02/04 توسط
0

سلام ابوالفضل جان، دقیق متوجه نشدم منظورت چیه که کلاس ها رو تو EF تعریف کنیم و کدها با SP یا VIEW اجرا بشن؟

پاسخ در 1396/02/17 توسط

پاسخ شما