مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

CES

عضویت از 1396/01/14

واقعا استفاده از Entity Framework ضروریه؟

  • دوشنبه 11 فروردین 1399
  • 13:17
تشکر میکنم

سلام به همه دوستان

شاید سوال من کمی تکراری باشه ولی چند وقتیه که دارم EF یاد میگیرم. چیز کاملا خوبیه ولی چند نکته در موردش وجود داره که نتونستم باهاش کنار بیام.


1

خیلی جاها میخونم که میگن دیگه با SQL خداحافظی کنید و.... صرف اینکه EF خودش بهترین Query رو تولید میکنه. ولی از اونجایی که طراحی بانک و سروکار داشتن با SQL چیزی فراتر از TSQL هستش به گمانم کمی این جمله اشتباه هستش. . ولی از اونجایی که در آخرین لایه تبدیلات توسط ADO.NET و هر رابطی جهت ارتباط با بانک اطلاعاتی، دستورات SQL تولید خواهد شد پس بنابراین SQL و TSQL به گمانم تا ابد زنده هستند و یادگیری دانش کار با یک بانک اطلاعاتی مثل SQL Server و دستورات TSQL واجبه.


2

اگرچه که تکنولوژی های جدید کمک به افزایش راندمان کار میکنند ولی همیشه استفاده از اونها توجیهی نداره. فرض کنید EF کمک میکنه که دیگه کد زیادی در سمت SQL تولید نکنید و در تولید نرم افزار سرعت بیشتری به ما میده. این ویژگی منحصر به فرد تکنلوژی ها سبب شده تا توجیح استفاده از اونها به این شکل مطرح بشه که اگر بخواهید نرم افزار خودتون رو بروزرسانی کنید هزینه زیادی رو باید بپردازید (زمان و منابع انسانی) تا تغییرات را اعمال کنید پس برای جلوگیری از این کار از تکنولوژی جدید استفاده کنید. ولی برای یک نرم افزاری که من دارم که حدود 250 جدول و حدود 1000 StoredProcedure داره و... به گمانم تغییر تکنولوژی هزینه بیشتری برای من داره تا اینکه بخوام فقط روی اصلاحات و بروزرسانی ها کار کنم. پس همیشه تکنولوژی های جدید نمیتونه برای همه مناسب باشه.

3
مثلا در برنامه خودم زیاد پیش میاد که برحسب نیاز در سمت SQL Server با تغییرات در StoredProcedure ها شرایط رو تغییر میدم بدون اینکه برنامه بروزرسانی بشه و کاربر متوجه بشه. حالا نمیدونم این کار چطور در EF انجام میشه. چون من تمام دستوراتم در SQL Server انجام میشه ولی در EF با قابلیت هایی که داره عموما درخواست اطلاعات در کدنویسی انجام میشه و حالا اگر لازم باشه که تغیرات اعمال بشه آیا باید همیشه برنامه خودم را بروزرسانی کنم و در اختیار کاربر قرار بدم؟

4

البته با توجه به اینکه قابلیت ایجاد Model از Databaseهای قبلی نیز وجود داره، باید بگم به شدت کند کار میکنه و هنوز قانع نشدم که از EF استفاده کنم و همچنان دارم از DataSetها استفاده میکنم و در سمت سرور اطلاعات رو بصورت XML میفرستم سمت برنامه و برنامه اون رو تبدیل به DataSet میکنه و بعد استفاده میکنه. صرف زمان برای این تبدیلات برای من قابل قبولتر از استفاده از EF هستش.


ممنون میشم اگر دوستان نظرات خودشون رو ارائه کنند.

تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

alirezaja2019

عضویت از 1398/05/24

  • سه شنبه 12 فروردین 1399
  • 10:26

سلام کسی شما رو مجبور نمیکنه ولی EF کار شما رو راحت تر میکنه مثلا آنچنان لازم نیست به فکر جلوگیری از SQL Injection (نسبت به ADO.Net)باشید و به طبع پرفورمنس رو پایین میاره

بهتون پیشنهاد میکنم حتما دوره ی Dapper آقای مدائنی رو ببینید اونجا به همین موضوع اشاره میکنن که چرا و چه وقتی باید از Dapper استفاده کنیم

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)