یکی از مراحلی که پس از ارتقاء یک سایت به HTTPS باید صورت گیرد، به روز رسانی آدرسهای قدیمی درج شدهی در صفحات مختلف، از HTTP به HTTPS است؛ وگرنه با خطای «قسمتی از صفحه امن نیست» توسط مرورگر مواجه خواهیم شد:
روشهای زیادی برای مدیریت این مساله وجود دارند؛ مانند استفاده از ماژولهای URL Rewrite برای بازنویسی آدرسهای نهایی صفحهی در حال رندر و یا ... به روز رسانی مستقیم بانک اطلاعاتی، یافتن تمام فیلدهای رشتهای ممکن در تما ...
هدف ارائه راه حلی برای مدیریت Transactionها به عنوان یک Cross Cutting Concern، توسط ApplicationServiceها میباشد. پیش نیازها: دوره Aspect oriented programming بررسی مفاهیم معکوس سازی وابستگیها و ابزارهای مرتبط با آن طراحی و پیاده سازی ServiceLayer به همراه خودکارسازی Business Validationها پیش فرض ما این است که شما از EF به عنوان OR-Mapper استفاده میکنید و الگوی Context Per Request را پیاده سازی کرده ...
پیشنیاز نقشه راه « آزمون واحد در دات نت » مطلب « طراحی و پیاده سازی ServiceLayer به همراه خودکارسازی Business Validationها » در این مطلب قصد داریم تست ServiceLayer را به جای تست درون حافظهای که با ابزارهای Mocking در قالب Unit Testing انجام میگیرد، به کمک یک دیتابیس واقعی سبک وزن در قالب Integration Testing انجام دهیم. قدم اول یک پروژه تست را ایجاد کنید؛ بهتر است برای نظم دهی به ساختار Solution، پروژهه ...
فر ض کنید پروژه بزرگی دارید
که هر قسمت را به یک برنامه نویس میسپارید تا آن قسمت را در پروژه مجزایی طراحی و برنامه نویسی کند. هر برنامه نویس Entityهای خاص خود را در لایههای مربوط به پروژه خود تعریف میکند و از آنها استفاده میکند. حال یکی از برنامه نویسها میخواهد از Entity های پروژه دیگر استفاده کند. در این صورت اگر از دو Context شیءایی را بسازد و آنها را با یکدیگر Join بزند، خطایی مربوط به تعلق داشتن دو Entity ...
گاهی نیاز داریم صفحات را در دیتابیس ذخیره کنیم تا علاوه بر قابلیت جستجوی پیشرفتهی صفحات از طریق Full Text Search، بتوانیم از پویایی صفحات کامپایل شونده نیز استفاده کنیم. جهت پیاده سازی این مثال ما از Entity Framework استفاده میکنیم. بنابراین ابتدا کلاس Page را جهت ذخیره آدرس و محتوی صفحات مجازی در دیتابیس، پیاده سازی میکنیم: public class Page
{
public int Id { get; set; }
public string Path { get; set; }
...
یکی از روشهایی که در اکثر پروژههای بزرگ استفاده میشود، بحث استفاده از حذف منطقی (soft delete) بجای حذف فیزیکی رکورد میباشد (اکثرا در برنامههایی که با بخش مالی (پول) در ارتباط هستند) و از آنجاییکه هیچ برنامهای بدون باگ نمیباشد، حذف منطقی بجای حذف فیزیکی پیشنهاد میشود. در واقع داشتن و حفظ دیتا، یک امتیاز مثبت میباشد؛ به علاوه استرس از دست دادن داده به صورت اتفاقی (سهل انگاری کاربر) را هم نخواهیم داشت. لازم به ذکر است کاربران نهایی ا ...
در این مقاله قصد داریم به صورت عملی row level security را در زبان #C و Entity framework پیاده سازی نماییم. اینکار باعث خواهد شد، پروژه refactoring آسانتری داشته باشد، همچنین باعث کاهش کدها در سمت لایه business میگردد و یا اگر از DDD استفاده میکنید، در سرویسهای خود به صورت چشم گیری کدهای کمتر و واضحتری خواهید داشت. در مجموع راه حلهای متنوعی برای پیاده سازی این روش ارائه شده است که یکی از آسانترین روشهای ممکن برای انجام اینکار استف ...
پروژهی Decision را میتوان چکیدهی تمام مطالب سایت دانست که در آن جمع آوری نکات ASP.NET MVC 5.x، EF Code First 6.x، مباحث تزریق وابستگیها، کار با AutoMapper، بوت استرپ 3 و غیره لحاظ شدهاند. به همین جهت درک آن بدون مطالعهی « تمام » مطالب سایت میسر نیست و همچنین راه اندازی آن.
در این مطلب با توجه به سؤالات زیادی که در مورد صرفا نحوهی اجرای بدون خطای آن وجود داشت، ریز مراحل آنرا بررسی میکنیم.
پیشن ...
SQL Server Express LocalDB یا به صورت خلاصه LocalDB، یک بانک اطلاعاتیاست که به صورت متصل به پروسهی برنامهی جاری اجرا میشود؛ برخلاف رویهی متداول بانکهای اطلاعاتی که به صورت یک سرویس مستقل اجرا میشوند. هدف آن، جایگزین کردن نگارش Express نیست و بیشتر حجم کم و سهولت توزیع آن مدنظر بودهاست. برای مثال نگارش Express به صورت یک سرویس مجزا و مستقل بر روی سیستم نصب میشود؛ اما LocalDB به همراه و متصل به برنامهی نوشته شده، اجرا میشود: ...
یکی از جذابترین لحظات کار با LINQ و EF زمانی است که به خاطر افزایش حجم دیتا، کوئری خود را بازنگری کرده و آن را بهینه میکنید.
برای یک مسئله میتوان کوئریهای متنوعی نوشت که همگی به یک جواب میرسند؛ ولی زمان اجرا و میزان حافظهی مصرفی متفاوتی دارند. یک سناریوی رایج در نوشتن کوئریهای LINQ، ترکیب اطلاعات جداول مختلف و محاسبهی یک عدد معنی دار از ترکیب آن هاست.
برای نمونه دو Entity زیر ...