در نگارش قبلی EF Code first به ازای یک پروژه تنها یک سیستم Migration قابل تعریف بود و این سیستم مهاجرت، تنها با یک DbContext کار میکرد. در نگارش ششم این کتابخانه، سیستم مهاجرت Code first آن از چندین DbContext، به ازای یک پروژه که به یک بانک اطلاعاتی اشاره میکنند، پشتیبانی میکند. مزیت اینکار اندکی بهبود در نگهداری تنها کلاس DbContext تعریف شده است. برای مثال میتوان یک کلاس DbContext مخصوص قسمت ثبت نام را ایجاد کرد. یک کلاس DbContext ...
فرض کنید با استفاده از ابزار EF Power tools معادل Code first یک بانک اطلاعاتی موجود را تهیه کردهاید. اکنون برای استفاده از آن با گردش کاری متداول EF Code first نیاز است تا جدولی را به نام MigrationHistory نیز به این بانک اطلاعاتی اضافه کنیم. از این جدول برای نگهداری سوابق به روز رسانی ساختار بانک اطلاعاتی بر اساس مدلهای برنامه و سپس مقایسه آنها استفاده میشود. یا حتی ممکن است به اشتباه در حین کار با بانک اطلاعاتی این جدول حذف شده ...
تا قبل از EF 6 برای تهیه لاگ SQL تولیدی توسط Entity framework نیاز بود به ابزارهای ثالث متوسل شد. برای مثال از انواع پروفایلرها استفاده کرد ( ^ و ^ و ^ ). اما در EF 6 امکان توکاری به نام Command Interception تدارک دیده شده است تا توسط آن بتوان بدون نیاز به ابزارهای جانبی، به درون سیستم EF متصل شد و دستورات تولیدی آنرا پیش از اجرای بر روی بانک اطلاعاتی دریافت و مثلا لاگ کرد. در ادامه نمونهای از این عملیات را بررسی خواهیم کرد. ...
سؤال: من برای تهیه sitemap برنامه، یک route سفارشی نوشتهام تا یک فایل xml ایی را که در وب سرور، وجود خارجی ندارد، در آدرسهای سایت قابل دسترسی کند. برای مثال: routes.MapRoute(
"SiteMap_route", // Route name
"sitemap.xml", // URL with parameters
new { controller = "Sitemap", action = "index", name = UrlParameter.Optional, area = "" } // Parameter defaults
...
فرض کنید که میخواهیم معادل کوئری زیر را که اعمال توابع تجمعی به چند ستون است، SELECT sum([Rating_TotalRating]), sum([Rating_TotalRaters]), sum([Rating_AverageRating]) FROM [BlogPosts]
در Entity framwork به کمک LINQ to Entities تهیه کنیم.
نکتهای که در اینجا وجود دارد، نبود گروه بندی (حداقل به ظاهر) در کوئری نوشته شده است. اما واقعیت این است که یک بانک اطلاعاتی به صورت ضمنی در مورد یک چنین کوئریهایی نیز گروه بندی را انج ...
برای ارتقاء برنامههای قدیمی به EF 6 (که با دات نت 4 به بعد سازگار است) دو حالت استفاده از نیوگت را در حین افزودن ارجاعات لازم به کتابخانههای مرتبط با EF باید مدنظر داشت:
الف) از نیوگت استفاده کردهاید
در این حالت فقط کافی است کنسول پاورشل نیوگت را در VS.NET گشوده و دستور update-package را صادر کنید. (1) به صورت خودکار آخرین نگارش EF دریافت شده و (2) همچنین فایل کانفیگ برنامه برای افزودن و به روز رسانی تعاریف مرتبط ب ...
پیشتر مطلب « تهیه پردازندههای سفارشی برای HTMLWorker کتابخانه iTextSharp » را در این سایت مطالعه کردهاید. از آنجائیکه افزونه HTMLWorker منسوخ شده است و دیگر پشتیبانی نخواهد شد، باید کدهای فعلی را به افزونه XMLWorker منتقل کرد. مقدمهای را در این زمینه در مطلب « تبدیل HTML فارسی به PDF با استفاده از افزونهی XMLWorker کتابخانهی iTextSharp » میتوانید مطالعه نمائید.
در ادامه قصد داریم همان امکان پشتیبانی از تصاویر base64 مدفون ...
اگر به مرورگرها دقت کرده باشید، امکان نمایش SSL Server Certificate یک سایت استفاده کننده از پروتکل HTTPS را دارند. برای مثال در فایرفاکس اگر به خواص یک صفحه مراجعه کنیم، در برگه امنیت آن، امکان مشاهده جزئیات مجوز SSL سایت جاری فراهم است:
سؤال: چگونه میتوان این مجوزها را با کدنویسی دریافت یا تعیین اعتبار کرد؟
قطعه کد زیر، نحوه دریافت مجوز SSL یک سایت را نمایش میدهد: using System;
using System.Diagnos ...
در یک برنامه فروشگاه، جداول مشتری و خریدهای او را درنظر بگیرید. خرید 3 سال قبل مشتری خاصی به آدرس قبلی او ارسال شدهاست. خرید امروز او به آدرس جدید او ارسال خواهد شد. سؤال: آیا با وارد کردن و به روز رسانی آدرس جدید مشتری، باید سابقه اطلاعاتی قبلی او حذف شود؟ اجناس ارسالی پیشین او، واقعا به آدرس دیگری ارسال شدهاند و نه به آدرس جدید او. چگونه باید اینگونه اطلاعاتی را که در طول زمان تغییر میکنند، در بانکهای اطلاعاتی رابطهای نرمال شده مدیر ...
مقدمه
در حالت پیشرفتهی تزریق وابستگیها در دات نت، با توجه به اینکه کار وهله سازی کلاسها به یک کتابخانه جانبی به نام IoC Container واگذار میشود، امکان یک سری دخل و تصرف نیز در این میان فراهم میگردد. برای مثال الان که ما میتوانیم یک کلاس را توسط IoC container به صورت خودکار وهله سازی کنیم، خوب، چرا اجرای متدهای آنرا تحت نظر قرار ندهیم. مثلا حاصل آنها را بتوانیم پیش از اینکه به فراخوان بازگشت داده شود، کش کنیم یا ...