# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > دسترسی به داده ها (ADO.Net و LINQ و ...) > سوال: کارایی Entity Framework در پروژه های بزرگ

## emad4000

سلام
راستش من تا به حال برنامه ای با استفاده از EF ننوشتم و فقط آشنایی مقدماتی ازش دارم.
الان طراحی و پیاده سازی یه وب سایت بزرگ دستم هست و وقت محدودی هم دارم
به نظر شما اگه وقت بگزارم و EF رو یاد بگیرم و در پروژه ام استفاده کنم ارزشش رو داره؟ و آیا در ادامه کار و برای کارهای بزرگ کم نمیاره؟

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

----------


## sanay_esh

با سلام خدمت شما دوست عزیز 

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

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

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

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

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

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

----------


## emad4000

ممنون از اطلاعات مفیدتون
اتفاقاً بخش دوم پروژه ام Billing هست و هم حجم داده زیادی داره و هم تراکنش های زیادی انجام میشه، خودم هم ترجیح می دم ریسک نکنم و بدون واسطه (EF) جلو برم

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




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

----------


## emad4000

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


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

----------


## MOR_MS

سلام
اگه ميشه يه توضيح در مورد CLR  و نحوه استفاده  ان را بگيد براي پروژه هاي كه نوشته شده چكار بايد كرد

----------


## shahab_ksh

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


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

----------


## mo.esmp

EF 5 از نزر کارایی بهبودهای زیادی پیدا کرده و اگر زیاد نگران سرعت هستن میتونین از stored procedures استفاده کنین. سری به لینکهای زیر بزنین بد نیست.
My Favorite Features: Entity Framework Code First and ASP.NET Web API
Performance Considerations for Entity Framework 5

----------


## karimi.ali2005

این واقعا افتضاح نیست برای رکوردهای بالای یک میلیون سرعت خوبی نداره؟
یک سوال داشتم یعنی ado.net برای رکورد های بالا بهتر از EF عمل می کند؟

----------


## shahab_ksh

> این واقعا افتضاح نیست برای رکوردهای بالای یک میلیون سرعت خوبی نداره؟
> یک سوال داشتم یعنی ado.net برای رکورد های بالا بهتر از EF عمل می کند؟


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

----------

