نظرات مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت دهم - کار با فرم‌ها - قسمت اول
- به console مربوط به developer tools مرورگر خود مراجعه کنید، علت در آنجا لاگ می‌شود.
+ نگارش آخر آزمایش شده‌ی این سری را از اینجا دریافت کنید و شروع کنید به بررسی و انطباق تغییرات، با نمونه‌ای که دارید.
نظرات مطالب
طراحی افزونه پذیر با ASP.NET MVC 4.x/5.x - قسمت سوم
- به چه مشکلی برخوردید دقیقا؟ اجرا نشد؟ خطا گرفتید؟
- partial view هم مانند یک view معمولی باید custom tools اش به razor generator تنظیم شود. بعد از آن کار کردن با آن معمولی و مانند قبل خواهد بود.
نظرات مطالب
نحوه استفاده از افزونه Firebug برای دیباگ برنامه‌های ASP.NET مبتنی بر jQuery
ممنون آقای نصیری - برای کروم چطور، آیا developer tools کفایت میکند یا ابزار بهتری سراغ دارید؟
البته من گاهی که نیاز به دستکاری ریسپانس و ریکوئست باشه از فیدلر استفاده میکنم
نظرات مطالب
آشنایی با قابلیت جدید ASP.NET Web Forms Scaffolding
سلام
من Web Tools 2012.2 رو نصب کردم و تمام مراحلی را که توضیح دادید رو هم انجام دادم.
اما نمی‌تونم گزینه scaffold رو تو Add پیدا کنم.
به نظرتون مشکل از کجاست؟ 
نظرات مطالب
ASP.NET MVC #13
احتمالا اسکریپت‌های شما درست load نشده.
به web developer tools مرورگر خودتون مراجعه کرده و خطاهای اسکریپتی رو بررسی کنید.
مطالب
آشنایی با SQL Server Data Tools
مقدمه
یکی از امکانات اضافه شده در Sql Server 2012 ابزار Sql Server Data Tools یا به اختصار SSDT می‌باشد. این ابزار در واقع جایگزین ابزار Business Intelligence Development Studio می باشد که همه امکانات قبلی را داشته و همچنین قابلیت‌های جدیدی نیز به آن اضافه شد است. اما کاربرد این ابزار ایجاد محیطی یکپارچه برای طراحی و توسعه تمامی نسخه‌های پایگاه داده Sql Server با استفاده از Visual Studio می‌باشد. در این مقاله من به بیشتر بر روی امکانات زیر تمرکز دارم:
  • Installation
  • Creating a SQL Server Database Project
  • Modify Database Schema
  • Schema Compare and Update
  • Snapshot Project
  • Publish
  1. نصب Sql Server Data Tools
    آخرین نسخه این ابزار را از این آدرس دانلود کنید یا زمان نصب Sql Server 2012 گزینه آن را انتخاب کنید


  2. ایجاد یک پروژه جدید از نوع  SQL Server Database Project
    پس از نصب SSDT شما از طریق Visual Studio 2012 Shell که همراه SqlServer 2012 نصب می‌شود یا با Visual Stadio 2012 یک پروژه جدید از نوع SQL Server Database Project ایجاد کنید.

     Server Database Project Project به شما امکان توسعه پایگاه داده Sql Server را با استفاده  از محیط یکپارچه Visual Studio با در اختیار گذاشتن ابزار‌های همچون navigation, intellisense, validation, debugging, declarative editing و غیره را می‌دهد. شی پایگاه داده شما در پروژه و فایل‌های مجزا ذخیره می‌شود مثل آن که شما در حال توسعه برنامه #C یا VB.NET هستید.
  3. ورود پایگاه داده موجود به پروژه SQL Server Database
    شما می‌توانید شمای پایگاه داده موجود یا SQL Server DAC Package File (.dacpac) یا هر T-SQL دیگری را با راست کلیک بر روی پروژه و انتخاب گزینه Import به پروژه خود اضافه و تغییرات لازم را اعمال نماید شکل زیر پنجره Import Database  را نشان می‌دهد:
     

      پنجره 
    Solution Explorer امکانات زیر را در اختیار شما قرارمی دهد:

    - اضافه کردن اشیای همچون Table، View  و غیره با راست کیلک کردن بر روی پروژه و انتخاب گزینه Add
    - ویرایش اشیا موجود با دبل کیلک کردن بر روی اشیا
    - مقایسه شمای پایگاه داده با پایگاه داده دیگر و یا Microsoft SQL Server DAC Package File کافیست بر روی پروژه راست کیلک و گزینه Schema Compare را         انتخاب نمایید.
    - ایجاد یک Snapshot از شمای پایگاه داده در یک Microsoft SQL Server DAC Package File . یک snapshot برای ایجاد یک پایگاه داده یا ورود در پروژه ای دیگر یا در مقایسه دو پایگاه داده کاربرد دارد.
    - انتشار پایگاه داده که امکان ایجاد پایگاه داده یر روی یک سرور SQL Server را فراهم می‌نماید.  

  4. مقایسه شمای دو پایگاه داده با هم
    SSDT ابزاری برای مقایسه دو پایگاه داده و بروز رسانی پایگاه داده مقصد از روی شمای منبع از طریق ایجاد یک Script یا به صورت مستقیم را می‌دهد.



  5. انتشار پروژه با استفاده از SQL Server Data Tools
    این ابزار امکان گسترش پروژه شما بر روی SQL Server 2005, 2008, 2008 R2, 2012, یا SQL Azure instance را می‌دهد. برای انتشار کافیت از پنجره Solution Explorer  بر روی پروژه راست کیلک و گزینه Publish را انتخاب کنید.

  6. پنجره SQL Server Object Explorer
    این پنجره با اتصال به سرور SQL Server  امکان دسترسی و مدیریت پایگاه داده را به ما می‌دهد. علاوه بر دسترسی به اجزای یک پایگاه داده امکان مدیریت پوشه‌های Security , Server Objects نیز فراهم می‌باشد. همچنین امکان اتصال به Sql Server Express , localdb نیز وجود دارد. 


  7.   
نظرات مطالب
ردیابی تغییرات در Entity Framework، بخش اول
به شخصه من این کار را انجام میدهم. ولی یادم هست که در یک پروژه و در یک سناریوی خاص Entity framework یک استثنا صادر می‌کرد که با جست و جو در اینترنت، یکی از اعضای توسعه دهنده‌ی تیم Entity framework گقته بود که در این سناریو، Entity framework توانایی کار با تمام اعضای virtual را ندارد.
البته این موضوع به به نسخه‌ی 4.3 بر میگرده و احتمالش هست که اشکالش در نسخه‌های بعد رفع شده باشد.
از نظر شخصی خودم در پروژه هاتون به خصوص پروژه‌های ویندوزی به عنوان یک best practice همه‌ی اعضا را virtual تعریف کنید مگر اینکه به مشکل بر بخورید.
نظرات مطالب
پیدا کردن آیتم‌های تکراری در یک لیست به کمک LINQ
یک نکته‌ی تکمیلی: اضافه شدن متد جدید DistinctBy به دات نت 6

همانطور که در این مطلب نیز بررسی شد، جهت کار با متد Distinct، باید روش مقایسه‌ی اشیاء پیچیده، توسط یک پیاده سازی اختصاصی از IEqualityComparer مشخص شود. دات نت 6 جهت ساده‌کردن این عملیات، متد DistinctBy را اضافه کرده‌است که توسط آن می‌توان یک خاصیت شیء مدنظر را به عنوان کلید مقایسه مشخص کرد. روش پیاده سازی آن‌را در هم در اینجا می‌توانید مشاهده کنید که در پشت صحنه از یک HashSet استفاده می‌کند. یعنی کلیدهای مشخص شده‌ی توسط DistinctBy را یکی یکی به HashSet اضافه می‌کند. این ساختار داده‌ی ویژه، مقادیر تکراری را قبول نمی‌کند. اگر متد Add آن، true را برگرداند، یعنی مقادیر جدیدی اضافه شده‌است و اگر false را برگرداند، یعنی این مقدار، تکراری است و اضافه نخواهد شد. برای مثال فرض کنید لیستی را به صورت زیر تعریف کرده‌اید:
var list = new List<int> {1,1,2,2,3,3,3,4,4,4};
یکی از ده‌ها روش یافتن اعضای تکراری این لیست که سرعت بسیار بالایی هم دارد، استفاده از یک HashSet و متد Add آن است؛ به صورت زیر:
var hash = new HashSet<int>();
var duplicates = list.Where(i => !hash.Add(i));
اگر متد Add، مقدار false را برگرداند، یعنی آیتم مدنظر تکراری است.

یک مثال: روش استفاده از متد DistinctBy بر روی یک خاصیت مشخص و خروجی نهایی حاصل از آن:
var movies = new List<Movie>
{
    new Movie("Titanic", 1998, 4.5f),
    new Movie("The Fifth Element", 1997, 4.6f),
    new Movie("Terminator 2", 1991, 4.7f),
    new Movie("Avatar", 2009, 5),
    new Movie("Platoon", 1986, 4),
    new Movie("My Neighbor Totoro", 1988, 5)
};

var distinctRatings = movies.DistinctBy(movie => movie.Rating);

// Output:
// Titanic,The Fifth Element,Terminator 2,Avatar,Platoon