PDA

View Full Version : تبديل يك function در sql به معادل linq



m110_110
پنج شنبه 04 اسفند 1390, 08:41 صبح
با سلام
قبلا در يك كوئري از ديتابيس اطلاعات مورد نيازم رو بيرون مي كشيدم و با يك select تو در تو يك تابعي هم روي ان انجام مي دادم
مثلا اي كوئري:
select dbo.getRefrenceCount(tbl.ID),* from (
SELECT TOP (10) ID, Title
FROM TitleTbl where Title like '%a%')as tbl
ببينيد دليل استفاده من از اين روش اين بود كه مثلا تابع dbo.getRefrenceCount عمليات سنگيني داشت كه احتياجي نيست كه بر روي همه ركورد ها انجام بشه و براي من كافي است كه فقط روي 10 خروجي من اين كار انجام بشه به همين دليل از اين روش استفاده كردم
حال سوال من اينجاست كه حالا كه از entity دارم استفاده مي كنم اين موضوع را چگونه حل كنم و ايا بايد كوئري ling را به گونه اي بنويسم كه اين موضوع درونش ديده شود و يا راه حل ديگه اي هست
نكته اينكه سرعت در اين كوئري ها بسيار مهم است

مثال ديگه اي كه در اين مورد مي توانم بزنم پيام هايي است كه براي يك نفر در يك جدولي ذخيره مي گردد كه در اين جدول شماره فرد هست و وقتي مثلا فقط 10 پيام را از جدول بيرون مي كشيم حالا بر اساس اون شماره فرد اسامي اين 10 نفر را بيرون مي كشيم نه اينكه اول join بزنيم بعد 10 ركورد انتخاب كنيم
به تجربه اين روش خيلي خوب در ركورد هاي بالا جواب داده است
ولي حالا موندم اين روش را در entity چطور پياده كنم
ممنون

m110_110
یک شنبه 07 اسفند 1390, 13:56 عصر
با سلام
اگر جناب اقاي مدير ناراحت نميشن و سريع پاك نمي كنن عرض كنم كه ما كه در اين قضيه در مونديم
هرچي جستجو مي كنيم و فكر مي كنم عقلمون ديگه به جايي قد نميده
همه اين ها به كنار
تازه يك مورد ديگه هم بهش اضافه شده و اون اين كه اطلاعاتي رو مي خواهيم استفاده كنيم از تلفيق دو ديتابيس هست و تا حالا به اين نتيجه رسيديم كه بايد توي يكي از ديتابيس ها view‌هايي داشته باشيم كه از ديتابيس ديگر اطلاعات رو مي خونه تا بتونيم توي entity ازش استفاده كنيم
حالا هنوز توي اون سوال قسمت اول كه پنج شنبه گذاشتيم مونديم و توي دومي هم داريم دست و پا مي زنيم
لطفا يك راه حل ارائه كنيد

راستي من حواسم به اخطاري كه جناب مدير برام فرستادند، نبود . همين جا از ايشون به راحتي اخطار فرستادنشون تشكر و انتقاد مي كنم(نمي تونستم نگم)