جهت یادآوری:
من هر مطلبی که مرتبط به موضوع نباشد را حذف می‌کنم.
در مورد «زیرنویس‌»های تهیه شده مطلبی دارید؟
اگر خیر لطفا از سایت‌های دیگر استفاده کنید. با تشکر
من فقط لینک زیرنویس‌های تهیه شده یا به قولی کار خودم را اینجا ذکر کردم. یافتن اصل ویدیوها (که رایگان نیستند) در گوگل کار ساده‌ای است و این قسمت با خودتان است. علاقمند بودید آن‌ها را خریداری کنید. علاقمند بودید، دانلود کنید. برای مثال «win8-csxaml» را در گوگل جستجو کنید. در همان صفحه اول لینک‌های دانلود ظاهر می‌شوند.
‫۱۲ سال و ۹ ماه قبل، چهارشنبه ۲۱ دی ۱۳۹۰، ساعت ۲۲:۵۸
یک سری ویدیوی آزموشی به روز و با کیفیت در این زمینه از سایت pluralsight موجود است. در گوگل جستجو کنید قابل دریافت هستند.
‫۱۲ سال و ۹ ماه قبل، چهارشنبه ۲۱ دی ۱۳۹۰، ساعت ۲۱:۵۴
نه. این متد استاتیک مشکلی نداره و مشکل از اینجا نیست. بهتر است تراکنش‌ها رو لحاظ کنید تا اطلاعات تداخل نکنند. همچنین من اینجا در رویه ذخیره شده GET_PAGES پارامتری یا آرگومانی نمی‌بینم که مقدار دهی شده باشه.
در کل برای بررسی آن نیاز به مشاهده اطلاعات بیشتری هست مثلا GET_PAGES چی هست یا اینکه این متد بالا کجا فراخوانی میشه. آیا بلافاصله بعد از ورود اطلاعات هست؟ اگر اینطور است هم تراکنش نیاز دارد و هم GET_PAGES نیاز به یک آرگومان یا پارامتر ورودی که مشخص کند، چه مواردی را باید فیلتر کند و نمایش دهد.
‫۱۲ سال و ۹ ماه قبل، چهارشنبه ۲۱ دی ۱۳۹۰، ساعت ۲۱:۳۰
مایکروسافت پشتیبانی از پروایدر ADO.NET مرتبط به اوراکل را چندسالی است که رسما قطع کرده و خود اوراکل این پروایدر رو داره ارائه می‌ده. در مورد EF هم به همین صورت : (^) و (^) .
‫۱۲ سال و ۹ ماه قبل، چهارشنبه ۲۱ دی ۱۳۹۰، ساعت ۲۱:۱۵
باید کدهای شما رو ببینم. اگر این بین اطلاعات اشتراکی استاتیک وجود داشته حتما مشکل‌زا بوده.
‫۱۲ سال و ۹ ماه قبل، چهارشنبه ۲۱ دی ۱۳۹۰، ساعت ۱۴:۰۰
- اگر مجددا throw بشه مشکلی نداره. مثلا اگر به کدهای کتابخانه NHibernate استفاده کنید، گاهی از اوقات از این روش استفاده کرده، مثلا برای ارائه پیغام واضح‌تری به کاربر اگر پیغام exception اولیه مفهوم نیست. یا می‌خواهید یک Exception کلی را لاگ کنید اما یک نمونه ساده‌تر را مثلا به دلایل امنیتی به کاربر نمایش دهید. اما حتما این لاگ کردن اولیه باید لحاظ شود چون فوق العاده در طول زمان کیفیت کد را بالا می‌برد و مشکلات را نمایان‌ می‌کند.
در کل یک کلاس پایه تا حد امکان نباید try/catch داشته باشد. سطح‌های بالاتر باید در این مورد تصمیم گیری کنند.
- من تگ a href الی آخر را دستی درست می‌کنم.
‫۱۲ سال و ۹ ماه قبل، چهارشنبه ۲۱ دی ۱۳۹۰، ساعت ۱۳:۲۹
این سربار اینقدر نیست که اهمیتی داشته باشد. فقط قرار است یک کوئری LINQ به معادل SQL آن ترجمه شود. خیلی سریع است. همچنین امکان تهیه Compiled linq queries هم وجود دارد (^).
ضمن اینکه مثلا NHibernate قابلیتی دارد به نام second level cache که اساسا برای پروژه‌های وب طراحی شده. قابلیت کش در سطح کوئری یا اطلاعات پرکاربرد و عمومی سایت را به صورت خودکار دارد. در موردش قبلا مطلب نوشتم : (^). سطح اول کش آن هم پیاده سازی حرفه‌ای همین باز نگه داشتن کانکشنی است که در کد SqlHelper بالا نویسنده موفق به پیاده سازی آن نشده، به علاوه کاهش رفت و آمدها به سرور: (^)
به علاوه NHibernate یک قابلیت دیگر هم دارد به نام ToFuture که می‌تونه چندین کوئری رو در طی یک رفت و برگشت برای شما انجام بده (^).
و ... خیلی از best practices دیگر هم در آن لحاظ شده. خلاصه اینکه توانایی‌های بسیار ارزنده‌ای رو با عدم استفاده از ORMs از دست خواهید داد. منجمله همان بحث کوئری‌های پارامتری که عموما از نوشتن آن طفره می‌روند اما اینجا به صورت خودکار برای شما انجام می‌شود.