کارهایی جهت بالابردن کارآیی Entity Framework #2
در ادامهی مطلب قبلی، نکاتی دیگر را جهت افزایش کارآیی سیستمهای مبتنی بر EF اشاره خواهیم کرد:عدم استفاده از کوئریهای کلیفرض کنید در یک فرم جستجو، 4 تکست باکس FirstName, LastName, City و PostalZipCode...
View Articleکارهایی جهت بالابردن کارآیی Entity Framework #3
در قسمتهای قبلی (^و ^) راهکارهایی جهت بالا بردن کارآیی، ارائه شد. در ادامه، به آخرین قسمت این سری اشاره خواهم کرد.فراخوانی متد شناسایی تغییرات یادآوری:قبل از هر چیز با توجه به این مقالهدانستن این نکته...
View Articleبررسی الگوهای ایندکسهای Non-Clustered در SQL Server
قصد داریم الگوهای مختلف ایندکس گذاری و استراتژی Non-Clustered Indexes را در Sql Server، بررسی کنیم.مزایایایجاد ایندکسهای صحیح بر اساس نیازهای واقعی کاری:سریعتر شدن اجرای کوئریهای جستجو در تعداد...
View Articleمعرفی پروژه فروشگاهی Iris Store
پروژه IrisStore، یک سیستم فروشگاهی متن باز برای راه اندازی فروشگاههای اینترنتی کوچک است که سورس آن را میتوانید از آدرس زیر دریافت کنید: https://github.com/MehdiSaeedifar/IrisStore همچنین نمونهی...
View Articleپیاده سازی یک سیستم دسترسی Role Based در Web API و AngularJs - بخش دوم
در بخش پیشینمروری اجمالی را بر روی یک سیستم مبتنی بر نقش کاربر داشتیم. در این بخش تصمیم داریم تا به جزئیات بیشتری در مورد سیستم دسترسی ارائه شده بپردازیم.همانطور که گفتیم ما به دو صورت قادر هستیم تا...
View Articleپیاده سازی یک سیستم دسترسی Role Based در Web API و AngularJs - بخش سوم (پایانی)
در بخش پیشین به بررسی جزئیتر ایجاد پایگاه داده و همچنین توسعه Custom Filter Attribute پرداختیم که وظیفه تایید صلاحیت کاربر جاری و بررسی دسترسی وی به API Method مورد نظر را بررسی میکرد. در این مقاله...
View Articleبهینه سازی کوئریهای LINQ - بخش اول
یکی از جذابترین لحظات کار با LINQ و EF زمانی است که به خاطر افزایش حجم دیتا، کوئری خود را بازنگری کرده و آن را بهینه میکنید. برای یک مسئله میتوان کوئریهای متنوعی نوشت که همگی به یک جواب میرسند؛ ولی...
View ArticleLocalDB FAQ
SQL Server Express LocalDB یا به صورت خلاصه LocalDB، یک بانک اطلاعاتیاست که به صورت متصل به پروسهی برنامهی جاری اجرا میشود؛ برخلاف رویهی متداول بانکهای اطلاعاتی که به صورت یک سرویس مستقل اجرا...
View Articleبررسی نحوهی راه اندازی پروژهی Decision
پروژهی Decisionرا میتوان چکیدهی تمام مطالب سایت دانست که در آن جمع آوری نکات ASP.NET MVC 5.x، EF Code First 6.x، مباحث تزریق وابستگیها، کار با AutoMapper، بوت استرپ 3 و غیره لحاظ شدهاند. به همین...
View Articleپیاده سازی Row Level Security در Entity framework
در این مقاله قصد داریم به صورت عملی row level security را در زبان #C و Entity framework پیاده سازی نماییم. اینکار باعث خواهد شد، پروژه refactoring آسانتری داشته باشد، همچنین باعث کاهش کدها در سمت...
View Articleپیاده سازی حذف منطقی در Entity framework
یکی از روشهایی که در اکثر پروژههای بزرگ استفاده میشود، بحث استفاده از حذف منطقی (soft delete) بجای حذف فیزیکی رکورد میباشد (اکثرا در برنامههایی که با بخش مالی (پول) در ارتباط هستند) و از آنجاییکه...
View Articleنحوه تولید پویای صفحات از طریق دیتابیس در ASP.NET MVC
گاهی نیاز داریم صفحات را در دیتابیس ذخیره کنیم؛ تا علاوه بر قابلیت جستجوی پیشرفتهی صفحات، بتوانیم از پویایی صفحات نیز استفاده کنیم.در این مثال ما با استفاده از Entity Framework، به دیتابیس متصل...
View Articleایجاد یک DbContext مشترک بین entityهای پروژههای متفاوت
فرضکنید پروژه بزرگی دارید که هر قسمت را به یک برنامه نویس میسپارید تا آن قسمت را در پروژه مجزایی طراحی و برنامه نویسی کند.هر برنامه نویس Entityهای خاص خود را در لایههای مربوط به پروژه خود تعریف...
View Articleآماده سازی زیرساخت تهیه Integration Tests برای ServiceLayer
پیشنیاز نقشه راه «آزمون واحد در دات نت»مطلب «طراحی و پیاده سازی ServiceLayer به همراه خودکارسازی Business Validationها»در این مطلب قصد داریم تست ServiceLayer را به جای تست درون حافظهای که با ابزارهای...
View Articleطراحی و پیاده سازی مکانیزم مدیریت Transactionها در ServiceLayer
هدف ارائه راه حلی برای مدیریت Transactionها به عنوان یک Cross Cutting Concern، توسط ApplicationServiceها میباشد. پیش نیازها:دوره Aspect oriented programming بررسی مفاهیم معکوس سازی وابستگیها و...
View Article