PDA

View Full Version : سوال: کارایی Entity Framework در پروژه های بزرگ



emad4000
شنبه 23 دی 1391, 11:55 صبح
سلام
راستش من تا به حال برنامه ای با استفاده از EF ننوشتم و فقط آشنایی مقدماتی ازش دارم.
الان طراحی و پیاده سازی یه وب سایت بزرگ دستم هست و وقت محدودی هم دارم
به نظر شما اگه وقت بگزارم و EF رو یاد بگیرم و در پروژه ام استفاده کنم ارزشش رو داره؟ و آیا در ادامه کار و برای کارهای بزرگ کم نمیاره؟

چون قبلاً برام پیش اومده بود که در یک پروژه از یه Wizard استفاده کردم و تا یه جایی کارم پیش رفته، از یه جایی به بعد دیگه دیدم امکانات اون Wizard محدود بوده و مجبور شدم پروژه رو از اول و با کتابخانه های معمولی موجود پیاده سازی کنم.

sanay_esh
شنبه 23 دی 1391, 13:22 عصر
با سلام خدمت شما دوست عزیز

با توجه به اینکه وقت زیادی برای پروژه نداری استفاده از Entity برای شما پیشنهاد نمیشود چون مهارت کافی برای انجام آن و استفاده از امکانات آن ندارید

اما اگر بتوانید استفاده کنید در زمان پروژه نیز صرفه جویی انجام شده است

کلا برای پروژه هایی که بسیار بزرگ هستند استفاده از ORM پیشنهاد نمیشه بدلیل سرعت پایین در انتقال داده ها...

مثلا برای انجام یک کار در بانک اطلاعاتی با Entity Framework 4 بنده 11 ساعت منتظر پردازش اطلاعات شدم

اما با CLR انجام پردازش به 5 ثانیه رسید در ابتدا خودم باور نکردم که انجام شده است اما بعد بررسی نتیجه متوجه شدم که انجام شده است ( تغییر در انجام پردازش داده ها به همین مقدار است )

ولی Entity framework برای انجام پردازش برای داده های 1 میلیون به پایین خوب است و قابل اعتماد!

emad4000
شنبه 23 دی 1391, 13:54 عصر
ممنون از اطلاعات مفیدتون
اتفاقاً بخش دوم پروژه ام Billing هست و هم حجم داده زیادی داره و هم تراکنش های زیادی انجام میشه، خودم هم ترجیح می دم ریسک نکنم و بدون واسطه (EF) جلو برم

فقط یک سوال دیگه، من بحثم روی انتقال داده و نقش این لایه های میانی در کاهش سرعت انتقال داده بود. نمی فهمم نقش CLR این وسط چیه؟ من انتظار داشتم شما از ADO.NET بگید. مگه CLR روی سرعت انتقال داده تاثیر داره؟



مثلا برای انجام یک کار در بانک اطلاعاتی با Entity Framework 4 بنده 11 ساعت منتظر پردازش اطلاعات شدم
اما با CLR انجام پردازش به 5 ثانیه رسید...

emad4000
شنبه 30 دی 1391, 09:42 صبح
...
فقط یک سوال دیگه، من بحثم روی انتقال داده و نقش این لایه های میانی در کاهش سرعت انتقال داده بود. نمی فهمم نقش CLR این وسط چیه؟ من انتظار داشتم شما از ADO.NET بگید. مگه CLR روی سرعت انتقال داده تاثیر داره؟

ببخشید، کسی جواب سوال منو نمیده؟ من متوجه نقش CLR در ارتباطات داده ای نشدم !!!!!!

MOR_MS
پنج شنبه 05 بهمن 1391, 17:47 عصر
سلام
اگه ميشه يه توضيح در مورد CLR و نحوه استفاده ان را بگيد براي پروژه هاي كه نوشته شده چكار بايد كرد

shahab_ksh
پنج شنبه 05 بهمن 1391, 23:05 عصر
مثلا برای انجام یک کار در بانک اطلاعاتی با Entity Framework 4 بنده 11 ساعت منتظر پردازش اطلاعات شدم
اما با CLR انجام پردازش به 5 ثانیه رسید


میشه یه توضیح بدین که EF فقط یه ترجمه ساده Linq به Sql رو انجام میده چطور دو نتیجه کاملا متفاوت گرفتین در حالی اصولا نباید تفاوتی داشته باشن ؟!

mo.esmp
جمعه 06 بهمن 1391, 00:55 صبح
EF 5 از نزر کارایی بهبودهای زیادی پیدا کرده و اگر زیاد نگران سرعت هستن میتونین از stored procedures استفاده کنین. سری به لینکهای زیر بزنین بد نیست.
My Favorite Features: Entity Framework Code First and ASP.NET Web API (http://blogs.msdn.com/b/jasonz/archive/2012/07/23/my-favorite-features-entity-framework-code-first-and-asp-net-web-api.aspx)
Performance Considerations for Entity Framework 5 (http://msdn.microsoft.com/en-us/data/hh949853.aspx)

karimi.ali2005
سه شنبه 10 بهمن 1391, 16:02 عصر
این واقعا افتضاح نیست برای رکوردهای بالای یک میلیون سرعت خوبی نداره؟
یک سوال داشتم یعنی ado.net برای رکورد های بالا بهتر از EF عمل می کند؟

shahab_ksh
سه شنبه 10 بهمن 1391, 17:31 عصر
این واقعا افتضاح نیست برای رکوردهای بالای یک میلیون سرعت خوبی نداره؟
یک سوال داشتم یعنی ado.net برای رکورد های بالا بهتر از EF عمل می کند؟


هنوز کسی ثابت نکرده چنین مشکلی پیش آمده
من تا 150 هزار رکورد رو تست کردم هیچ فرقی نداره