PDA

View Full Version : استفاده از ViewModel در ASP.NET MVC یا ایجاد ویو در دیتا بیس ؟



ehsan_kabiri_33
یک شنبه 24 فروردین 1399, 21:04 عصر
سلام. برای دسترسی به مثلا دو ستون از دو جدول مختلف میتوان یک ViewModel درست کرد و عملیات دریافت/ویرایش/حذف و ... را انجام داد.
همچنین میتوان ستونهایی از جداول مختلف که میخواهیم را داخل SQL به یک View منتقل کرده و آن View را به مدل EF6 خود وصل کنیم و مانند یک جدول معمولی روی آن کوئری بزنیم.

هر دو روش جواب میدهد. آیا استفاده از ویو داخل دیتا بیس بجای استفاده از ویو مدل داخل VisualStudio توصیه میشود یا نمیشود؟؟


همچنین در مورد Procedure ها در دیتا بیس - میتوان بجای کوئری زدن مثلا برای جستجوی کلمه در یک جدول، یک Procedure تعریف کرده و کلمه را به آن Procedure ارسال کنیم و ... --
واقعا نمیدونم کدام یک بهتره و چرا؟؟ کارها را در دیتا بیس انجام بدیم یا در ASP.NET MVC ؟

ali_md110
دوشنبه 25 فروردین 1399, 18:37 عصر
در mvc معمولا به اتصال داده نیاز داریم DataAccess از هر طریقی میتونه تامین بشه فقط منحصر به EF نیست ولی روش ارجحتر Orm ها هستند
دلیل بکارگیری EF علاوه بر سرعت بر نامه نویسی بالا و نوشتن کوئری های استاندارد اینه که سیستم وابستگی به یک دیتابیس خاص نداشته باشد و هر زمان خواستید کانکشن استرینگ را تغییر دهید
اگر شما از sp های درون اسکیول سرور استفاده کنید دقیقا برنامه را منحصر به بکارگیری SQL SERVER کرده اید و موتور بانکهای اطلاعاتی دیگری که ممکن است بعدا نیاز باشد دیگر قابل استفاده نیست و یا نیاز به دوباره نویسی SP برای این نوع بانک ها هستیم و این بر خلاف دیدگاه استفاده از eF هست
سوال اول شما معمولا توصیه نمیشود
سوال دوم هم SP ها سرعت بیشتری دارند ولی در کنار EF توصیه نمیشود

ehsan_kabiri_33
سه شنبه 26 فروردین 1399, 17:07 عصر
دکمه تشکر ندیدم - - بسیاااار ممنون :تشویق:
توی stackoverflow هم پرسیده بودم، بهم پاسخ دادن چون پرسش شما یک کار سلیقه ای هست!! پست بسته میشود.
در صورتیکه الان فهمیدم همش سلیقه ای هم نیست و وابستگی به یک بانک اطلاعاتی توصیه نمیشه-- دم شما گرم

mohsen.j1990
یک شنبه 07 اردیبهشت 1399, 11:54 صبح
سلام من خودم برای عملیات این چنینی از Dapper استفاده میکنم که هم سرعت بالایی داره هم خیلی راحته
شما پروسیجر ها یا ویوهاتون رو از طریق dapper فراخونی کنید

mmbguide
یک شنبه 07 اردیبهشت 1399, 13:43 عصر
سلام

دوستان درخصوص نکاتی جالبی که گفتید یه سوال برام پیش اومده. از EF در برنامه های WinApp هم استفاده میشه ولی من تمام عملیات را بردم در سمت SQL به این خاطر که کاربر مجبور نباشه دائما برنامه خودش رو Update کنه تا آخرین اصلاحات مربوط به دستورات EF رو یک list رو داشته باشه بلکه در بانک بلافاصله اولین نفری که دستور را فراخوانی کنه با اصلاحات جدید عملیات انجام میشه. من بیشتر برای برنامه های WinApp این مشکل را دارم. راه حل چیه؟

تشکر