‫۱۱ سال و ۹ ماه قبل، سه‌شنبه ۲۶ دی ۱۳۹۱، ساعت ۱۳:۵۵
- لطفا نظرات این مطلب را یکبار مطالعه کنید. پیشتر به این سؤال پاسخ داده شده:
خلاصه آن: قسمت «استفاده از الگوی واحد کار و کلاس‌های سرویس تهیه شده در یک برنامه کنسول ویندوزی» عنوان شده در مطلب فوق، یک برنامه ویندوزی است. سورس کامل این سری هم در دسترس است (لینک داده شده در پایان مطلب). شبیه به برنامه‌های وب که یک سری روال مانند شروع و پایان درخواست را دارند، در اینجا شروع یک فرم، پایان یک فرم، شروع و پایان مثلا یک کلیک را دارید.
‫۱۱ سال و ۹ ماه قبل، دوشنبه ۲۵ دی ۱۳۹۱، ساعت ۱۷:۵۱
نتیجه جستجوی لوسین مثلا در مطلب فوق لیستی از SearchResultها است. همین لیست را در اکشن متد بازگشت دهید. سپس در View متناظر یک حلقه درست کرده و حاصل را به صورت دلخواهی فرمت کنید.
علت استفاده از return Content در مثال بالا، نیاز افزونه جی‌کوئری استفاده شده به خروجی ساده متنی است. در حالت‌های دیگر از return View معمولی استفاده کنید.
‫۱۱ سال و ۹ ماه قبل، یکشنبه ۲۴ دی ۱۳۹۱، ساعت ۱۴:۲۵
بستگی داره چه تعداد رشته رو قراره با هم جمع بزنید. اگر 10هزار مورد است، استفاده از StringBuilder می‌تونه مفید باشه؛ اما اگر فقط سه قطعه است (مانند تشکیل newFile در مثال بالا)، تفاوتی را در کارآیی احساس نخواهید کرد؛ ضمن اینکه سربار تولید و وهله سازی StringBuilder برای اتصال فقط سه قطعه با هم می‌تونه تا چهار برابر حالت‌های معمولی باشه (مراجعه کنید به قسمت ابتدای نمودار مقاله Performance considerations for strings ؛ در این نمودار، تفاوت پس از اتصال 600 قطعه به هم، خودش رو نشون می‌ده.)

‫۱۱ سال و ۹ ماه قبل، جمعه ۲۲ دی ۱۳۹۱، ساعت ۰۳:۱۱
از متد ObjectContext.GetObjectType استفاده کنید. برای نمونه در پیاده سازی سطح دوم کش ازش استفاده شده:
var changedEntityNames = ctx.ChangeTracker
                                      .Entries()
                                      .Where(x => x.State == EntityState.Added ||
                                                  x.State == EntityState.Modified ||
                                                  x.State == EntityState.Deleted)
                                      .Select(x => ObjectContext.GetObjectType(x.Entity.GetType()).FullName)
                                      .Distinct()
                                      .ToList();
‫۱۱ سال و ۹ ماه قبل، جمعه ۲۲ دی ۱۳۹۱، ساعت ۰۱:۰۳
زمانیکه از Fluent API استفاده می‌کنید نیازی به ذکر Attributes ندارید؛ چون طرفین یک ارتباط و ریز مشخصات آن‌ها با کدنویسی دقیقا (و بدون هیچگونه قرارداد خاصی) مشخص می‌شوند. یک نمونه رو در مثال شما عنوان کردم، مثلا DriverAssistance از یک کلاس به TransferencesForAssistance کلاس دیگر مرتبط شده. به این ترتیب نیازی به ذکر ویژگی خاصی برای مشخص سازی مجدد آن نیست (چون دیگر جای حدس و گمان و پیش‌فرضی باقی نمی‌ماند. صریحا تنظیمات مشخص شده‌اند). برای سایر موارد هم باید به همین ترتیب عمل کنید.
‫۱۱ سال و ۹ ماه قبل، جمعه ۲۲ دی ۱۳۹۱، ساعت ۰۰:۵۰
در یک حلقه به این صورت عمل کنید:
@foreach (var item in Model)
{
  <div>
     @Html.Raw(@item.Description)
  </div>
}