نظرات مطالب
بررسی خطاهای متداول عملیات Migration در حین به روز رسانی پروژه‌های EF Code First

چنین DLL ایی (SMO - Shared Management Objects) در هیچ کجای سورس‌های EF استفاده نشده. احتمالا یک کتابخانه‌ی ثالث در برنامه‌ی شما این مشکل رو درست کرده. اگر ارجاعی در برنامه به آن دارید حذفش کنید. خصوصا فایل‌های کانفیگ رو هم بررسی کنید.

در کل این DLL رو از اینجا می‌تونید دریافت کنید: http://www.microsoft.com/en-us/download/details.aspx?id=35580

نظرات مطالب
OutputCache در ASP.NET MVC
- با استفاده از jQuery که یک بحث سمت کاربر است، زمانیکه صفحه نمایش داده شد، یک درخواست Ajax ایی به اکشن متدی خاص، جهت به روز رسانی تعداد بار مشاهده ارسال کنید. به این روش client side tracking هم می‌گویند (کل اساس کار Google analytics به همین نحو است).
- روش دوم استفاده از Donut Caching است. در یک چنین حالتی، کد زیر مجاز است:
[LogThis]
[DonutOutputCache(Duration=5, Order=100)]
public ActionResult Index()
اطلاعات بیشتر
نظرات مطالب
ASP.NET MVC #21
$.validator.unobtrusive.parse باید در جایی فراخوانی شود که کار load اولیه را انجام داده:
@Ajax.ActionLink("Test",
                 "action",
                 new AjaxOptions { HttpMethod = "POST", 
                                   InsertionMode = InsertionMode.Replace, 
                                   UpdateTargetId = "UserDiv", 
                                   OnSuccess="$.validator.unobtrusive.parse('#my_form_id');"  
                                 }
                )
 اگر این کد را در partial view ایی که قرار است load شود قرار دادید، در آنجا فقط بنویسید:
<script type="text/javascript">
    $.validator.unobtrusive.parse("#my_frm_id");
</script>
نظرات مطالب
ردیابی تغییرات در Entity Framework، بخش اول
خیر. در ORMها کلا ردیابی منظور ردیابی تغییرات انجام شده در اشیایی است که در حال کار با آن‌ها هستیم آن هم در طی یک Context موجود. مثلا در یک Context باز شده و فعال، یک شیء اضافه می‌شود. دو خاصیت شیء ایی دیگر ویرایش می‌شوند. دو شیء دیگر نیز حذف خواهند شد. اینجا است که ORM باید بتواند این موارد و تغییرات را ردیابی کرده و سپس SQL صحیح و بهینه‌ای را جهت اعمال بر روی بانک اطلاعاتی تولید کند.
نظرات مطالب
آموزش Knockout.Js #2
Knockout.js جایگزین jQuery یا  MooTools نیست. در این کتابخانه animation یا مدیریت عمومی رخدادها، ساده سازی Ajax و مانند آن پیاده سازی نشده‌اند (هرچند Knockout.js امکان parse اطلاعات Ajax ایی دریافتی را دارد). هدف از Knockout.js ارائه مکملی برای سایر فناوری‌های وب جهت تولید برنامه‌های غنی و دسکتاپ مانند وب است. پشتیبانی خوبی از آن توسط مایکروسافت صورت می‌گیره چون نویسنده‌اش عضو تیم ASP.NET MVC است.
نظرات مطالب
استخراج تمام XPathهای یک محتوای HTMLایی به کمک کتابخانه HtmlAgilityPack
- این کتابخانه پردازشگر جاوا اسکریپتی نداره (همزمان و یا حالت‌های دیگری مانند Ajax ایی). فرضش بر این است که محتویات کامل رو در اختیارش قرار دادید.
- یک راه این است که از Web Control دات نت (موجود در WinForms و همچنین WPF) که در پشت صحنه از موتور کامل IE استفاده می‌کند، کمک بگیرید و زمانیکه Document آن کاملا load شد، نتیجه آن‌را به این کتابخانه ارسال کنید.
نظرات مطالب
EF Code First #6
برای هر قابلیتی که در تنظیمات نگاشت‌ها وجود ندارد و سفارشی است باید در تعاریف Migrations در متد Seed آن، SQL مرتبط را ذکر کنید. مانند «ایجاد ایندکس منحصربفرد در EF Code first» و یا «ایندکس منحصر به فرد با استفاده از Data Annotation در EF Code First». اصول و روش کار یکی است؛ فقط کوئری SQL ایی که باید اجرا شود، بنابر نیاز تفاوت می‌کند.
نظرات مطالب
مخفی کردن کوئری استرینگ‌ها در ASP.NET MVC توسط امکانات Routing
در همان مثال فوق اگر projectId تقدم دارد، آن‌را ابتدا ذکر کنید (در تعریف MapRoute ایی به نام IssueDetails که پیش از مسیریابی پیش فرض ذکر شده).
Details/{projectId}/{issueId}
بعد امضای متد Details هم باید بر همین اساس و ترتیب تغییر کند.
سپس اگر نمی‌خواهید یکی از پارامترها را ذکر کنید؛ پارامترهای این متد را nullable تعریف کنید. به این ترتیب با مقدار دهی null به issueId در ActionLink، خودبخود در لینک تولیدی نهایی ظاهر نخواهد شد.
نظرات مطالب
چند نکته کاربردی درباره Entity Framework
در حالت نه آنچنان Detached ! (دریافت یک لیست از Context ایی که ردیابی نداره) 
....
در متن هم گفته شد وقتی همه چیز رو خاموش کردیم ما باید وضعیت موجودیت رو مشخص کنیم. مثلا لیستی از اشیا رو می‌سازیم کاربر یکی رو انتخاب می‌کنه تغییر می‌ده و ما در لحظه ذخیره سازی وضعیت اونو به "تغییر داده شده" تغییر می‌دیم.
dbContext.Entry(entity).State = EntityState.Modified;
در حقیقت همه اشیا CLR ساده  هستند و در موقع درخواست ثبت تغییرات از ef  کمک می‌گیریم. 
نظرات مطالب
نحوه استفاده از ViewModel در ASP.NET MVC
ببنید Model به گفته آقای Scott Allen ، در توسعه نرم افزار میتونه صدها مفهوم رو پوشش بده، در کل Model رو میتونیم به این صورت تعریف کنیم : مجموعه ایی از کلاسها که تعریف کننده داده‌ها و همچنین Business Ruleها هستند Business Rule هم همون قواعد یا Business Logic مربوطه هستند که در بالا تعریف شده که مشخص میکنه دیتا چطور میتونه ذخیره بشه و یا تغییر پیدا کنه.