Thursday, October 14, 2010

حل مشکل کندی در سرچ یا لاگین با روش Lazy Loading

اگر با یک دیتا بیس سروکار داشته باشید که جدولهای آن رکوردهای زیادی داشته باشد ( مثلا 500 هزار رکورد با بیشتر ) ، حتما به این مشکل برخورد کرده اید که در هنگام select زدن برای سرچ یا برای لاگین ، حجم زیادی از داده ، باید از سرور به کلاینت شما انتقال یابد که باعث کندی بیش از حد عملیات جستجو یا لاگین می شود . برای حل این مشکل در LINQ  شما می توانید با باز کردن DATACONTEX  خود ، فیلدهایی از جدول مورد نظر را که فعلا احتیاج ندارید ( مثلا فیلد عکس یا آدرس  یا هر فیلدی که در عملیات فعلی اهمیت ندارد ) را با کلیک روی جدول و انتخاب فیلد،  خصوصیت  Delay Loaded  را برابر True قرار دهید . با اینکار این فیلد فعلا لود نمی شود و هر وقت لازم بود می توان آنرا فراخوانی کرد . مثال کامل را در اینجا بخوانید . 
این روش به LAZY LOADING معروف است . 

2 comments:

Anonymous said...

سلام امیرجان
می خواستم بدانم proprty در entity framework هم وجود دارد؟
با تشکر شریف

امیر said...

من که متوجه سئوال شما نشدم . بیشتر توضیح بدید لطفا