نظرات مطالب
ASP.NET MVC #20
نگارش 4.
این System.Web.Helpers, Version=1.0.0.0 رو هم که به System.Web.Helpers, Version=2.0.0.0 در لوکال تغییر میدم مشکلی وجود نداره، اما روی هاست اگر اضافه نکنم همون خطای قبلی رو میده و اگر هم اضافه کنم خطای زیر رو میده .
Could not load file or assembly 'System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies
فایل‌های پوشه bin لوکال رو هم به bin سرور منتقل کردم اما باز هم نشد!
لینکی که معرفی کردی رو هم بررسی کردم. mvc4 بود .

نظرات مطالب
متدی برای بررسی صحت کد ملی وارد شده
عذر میخوام،
چرا کدملی 1000000001 اشتباه است؟ طبق فرمولی که معرفی شده که صحیحه.
(باقیمانده 1*10 تقسیم بر 11 برابر با 10 میشه و چون این عدد بزرگتر از 1 است باید از 11 کسر بشه که نتیجه میشه 1)

آیا فرمول دقیق‌تری برای تشخیص صحت کدملی وجود دارد؟
به چه علت و بر چه اساسی کد ملی مذکور اشتباه است؟
آیا اداره ثبت احوال فرمول دقیق تشخیص صحت کدملی را در ارائه داده است؟

و ضمنا آیا بررسی یکسان بودن تمام ارقام ضروری است؟ بنظر میرسه نیازی اصلا به این بررسی وجود نداشته باشد. مثلا برای کدملی که هر ده رقم صفر است هیچگاه رقم کنترل صحیح نخواهد بود.
و همچنین در این لینک هیچ اشاره ای به این موضوع نشده است.

با تشکر
نظرات مطالب
ASP.NET MVC #22
حالت پیش فرض همین هست. اگر مطابق سلیقه شما نیست، می‌شود اون رو سفارشی کرد:
public class GlobalResourceTypeResourceDataAnnotationsModelValidator : DataAnnotationsModelValidator<ValidationAttribute>
{
    public GlobalResourceTypeResourceDataAnnotationsModelValidator(
        ModelMetadata metadata, 
        ControllerContext context, 
        ValidationAttribute attribute
    )
        : base(metadata, context, attribute)
    {
        if (Attribute.ErrorMessageResourceType == null)
        {
            Attribute.ErrorMessageResourceType = typeof(ModelValidationMessages);
        }
    }
}
و بعد در Application_Start برنامه به ازای هر ویژگی مورد نظر یکبار باید معرفی و ثبت شود:
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequiredAttribute), 
    typeof(GlobalResourceTypeResourceDataAnnotationsModelValidator));
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(StringLengthAttribute), 
   typeof(GlobalResourceTypeResourceDataAnnotationsModelValidator));
نظرات مطالب
EF Code First #1
ممنون از مطلب خوبتون.
برای جدول‌های زیاد که توی یک  DbContext اضافه شدند،برای اولین لود و ذخیره زمان خیلی زیادی گرفته میشه و البته pre-generating views هم فایده نداشته!و از طرف دیگه توی برنامه مجبورم برای اینکه دیتا رو از دیتابیس بگیرم یکبار DbEntityEntry<TEntity>(entityToRefresh).Reload()) Reload) کنم.من نمی‌فهمم یعنی همه‌ی دیتا یکبار توی شروع برنامه از دیتابیس دریافت میشن که دفعه‌های بعدی از Cash خونده میشن؟!ممنون میشم اگر یکم در این مورد توضیح بدید و جایی رو معرفی کنید که بشه مقدار بیشتر در مورد first level cache خوند.
نظرات مطالب
Implementing second level caching in EF code first
تکرار مجدد:
- هر کلاس لایه سرویس با پیاده سازی یک اینترفیس باید تهیه شود.این مورد به نظر در قسمت 12 سری EF بحث شده با مثال و فایل و همه چیز در برنامه‌های کنسول و MVC و وب فرم‌ها.
- کلاس کمکی فوق نیازی به وب سرور برای اجرا ندارد و باعث fail آزمون‌های واحد شما نمی‌شود چون در صورت نبودن وب سرور از حافظه سیستم استفاده می‌کند نه کش IIS.
- اگر به این نتیجه رسیدید که کش پروایدر بهتری وجود دارد و نیاز به تعویض نمونه مطرح شده در اینجا هست (که من در «مثال» ارائه شده نیازی به آن نداشتم)، لطفا آن‌را معرفی کنید و همچنین پیاده سازی اصلاح شده را به صورت یک وصله ارائه کنید جهت تکمیل بحث.
نظرات مطالب
نحوه اضافه کردن Auto-Complete به جستجوی لوسین در ASP.NET MVC و Web forms
با سلام مجدد؛  تمامی پیشنیاز‌های این مقاله را مطالعه کردم و خط به خط کدهای پروژه ای را که زحمت کشیدید و تهیه کرده اید را بررسی کردم.  شما در اولین پیشنیاز عنوان شده فرموده بودید "  کتابخانه Lucene مستقل است از منبع داده مورد استفاده و تنها اطلاعاتی با فرمت شیء Document معرفی شده به آن‌را می‌شناسد. " و در پروژه، در ابتدا کل داده‌ها را به یک document تبدیل کردید و سپس آنها را به IndexWriter اضافه کردید. و سپس جستجو‌های خود را روی این دیکشنری انجام می‌دادید.
حالا سوال من این است: من در ابتدا باید تمامی اطلاعات را از طریق عنوان شده به یک فایل دیکشنری تبدیل کنم و هر مطلب جدید که اضافه میشود ، به این دیکشنری نیز اضافه شود ؟ اگر تعداد رکرود‌ها بالای میلیون باشد؟ راهی وجود ندارد که ما مستقیم به خود دیتابیس کار کنیم  ؟ و یا نه من ابتدا باید روی دیتابیس کلمه مورد نظر را جستجو کتم و پس از یافتن آن، آنرا به دیکشنری  اضافه کنم ؟ بهترین راه چیست که برای داده‌های بالا جوابگو باشد
با تشکر فراوان
نظرات مطالب
طراحی گردش کاری با استفاده از State machines - قسمت اول
- بله. در قسمت بعد این مساله با معرفی یک کتابخانه مدیریت ماشین‌های حالت، دنبال خواهد شد.
- موارد دیگری مانند
raphaeljs ، draw.io (^) ، WireIt و jGraph  هم برای رسم گراف هستند.
- بله. باید کمی به jQuery Ajax آشنا باشید. می‌تونید اشیایی رو که قرار هست در صفحه ترسیم بشن به صورت آرایه‌ای از اشیاء جاوا اسکریپتی تعریف کنید. هر شیء دارای source و target است به علاوه مختصات x و y. نهایتا برای ارسال آن به سرور از طریق jQuery Ajax خواهید داشت:

JSON.stringify(whole_object)
برای دریافت لیست اشیاء هم به صورت JSON از سرور و رسم آن در سمت کلاینت با JSON.decode می‌تونید شروع کنید.
نظرات مطالب
استفاده از خواص راهبری در EF Code first جهت ساده سازی کوئر‌ی‌ها
 IEnumerable فقط خواندنی است.
ICollection یک IEnumerable است که قابلیت Add و Remove به آن اضافه شده.
IList یک ICollection است که به اعضای آن از طریق ایندکس‌ها می‌توان دسترسی اتفاقی داشت.
در تمام مثال‌های EF Code first این سایت از
ICollection برای معرفی خواص راهبری استفاده شده چون EF برای انجام اعمال داخلی خودش به مجموعه‌هایی که قابلیت افزودن یا حذف عناصر را داشته باشند، نیاز دارد. به علاوه اگر به سورس EF هم مراجعه کنید برای تشخیص روابط بین کلاس‌ها به دنبال ICollection می‌گردد.
همچنین رسم است حین انتخاب اینترفیس‌هایی از این دست که از هم مشتق می‌شوند، روال انتخاب «the least specific abstraction» رعایت شود. یعنی انتخاب کوچکترین پیاده سازی با حداقل نیازهایی که کاربرد مورد نظر را برآورده می‌کند.

نظرات مطالب
مروری بر کاربردهای Action و Func - قسمت اول
- در مورد تعریف «واجب» کسی اینجا بحث نکرده. این هم یک دید طراحی است. آیا کسی می‌تونه بگه اولین طراحی مطرح شده در مطلب جاری اشتباه است؟ خیر. اما ضرورتی ندارد تا این اندازه صرفا جهت واگذاری مسئولیت انجام یک متد به کلاسی دیگر، اینقدر طراحی انجام شده زمخت و طولانی باشد.
- در متن MSDN فوق نوشته شده که استفاده از delegate در این حالت خاص نیز معتبر است؛ اما ایده‌آل نیست. دلیلی که آورده از نظر من ساختگی است. ضرورتی ندارد تعریف یک delegate معرفی شده در runtime عوض شود. یا عنوان کرده که IComparable پایه مرتب سازی یک سری از متدها است. خوب ... بله زمانیکه از روز اول اینطور طراحی کردید همه چیز به هم مرتبط خواهند بود.


پ.ن.
قسمت نظرات MSDN یک زمانی باز بود ولی ... بعد از مدتی پشیمان شدند و به نظر این قابلیت منسوخ شده در این سایت!
نظرات مطالب
آشنایی با Refactoring - قسمت 3
EF Code first هم برای معرفی فیلدهای محاسباتی ویژگی NotMapped را دارد. این فیلدها در بانک اطلاعاتی معادلی ندارند و صرفا جهت اعمال به UI، به کلاس اضافه می‌شن.
البته منطق آنچنانی ندارند و در حد calculated field در sql server به آن نگاه کنید. عموما جمع و ضرب روی فیلدها است یا تبدیل تاریخ و در این حد ساده است. بیشتر از این بود باید از کلاس مدل خارج شود و به لایه سرویس سپرده شود.
و یا روش بهتر تعریف آن‌ها انتقال این موارد به ViewModel است. مدل را باید از این نوع خواص خالی کرد. ViewModel بهتر است محل قرارگیری فیلدهای محاسباتی از این دست باشد که صرفا کاربرد سمت UI دارند و در بانک اطلاعاتی معادل متناظری ندارند.