نظرات مطالب
EF Code First #9
آقای نصیری با سلام.
من 4 تا Entity دارم و یک Entity پایه. استراژی پباده سازی اون هم TPT است . جدول پایه حدود 100 فیلد دارد. موجودیت‌های فرزند هم هرکدام حدود 30 ستون دارند. وقتی با EF Code First داده‌ها را واکشی میکنم کوئری بسیار سنگین را در SQL Server Profiler ایجاد می‌شود  که وقتی آنرا در NotePad کپی میکنم چیزی حدود 60 کیلوبایت می‌شود. ضمناً به تمام ستون‌های جداول نیاز دارم تا آنها را در گرید نمایش دهم.
درصورت امکان راهنمایی کنید.heavyQuery.txt
نظرات مطالب
تبدیل html به pdf با کیفیت بالا
ببخشید استاد می‌خواست بپرسم که وقتی که در وب سایت مطالب رو از نسخه چاپی دانلود می‌کنیم نام تمام فایل‌ها dotnettips هست آیا شما یه همچین فایل فیزیکی دارید که محتوای آن را به صورت داینامیک ایجاد می‌کنید یا اینکه درون حافظه این فایل را ایجاد می‌کنید و اصلاً فایل فیزیکی وجود ندارد؟ اگه از حالت فایل فیزیکی استفاده می‌کنید تداخل داده به وجود نمی‌آید؟ مثلاً یکی از کاربران روی مقاله 100 کلیک کند و هم زمان یک کاربر دیگر روی مقاله 101 کلیک کند اون موقعه متن مقاله 101 برای هر 2 نمایش داده می‌شود

ممنونم
نظرات مطالب
آشنایی با Refactoring - قسمت 7
بحث Refactoring در مورد طراحی کارهای شما معنا پیدا می‌کند؛ وگرنه اگر کتابخانه‌ی بسته دیگری، نیازهای خاص خودش را دیکته می‌کند، بدیهی است دست شما آنچنان باز نخواهد بود.
در مورد مطلبی که گفتید، بله می‌شود. در این حالت باید DataObject TypeName مربوط به ObjectDataSource را مشخص کنید: [^]
اگر می‌خواهید واقعا این اصول شیءگرایی را رعایت کنید، بهتر است به ASP.NET MVC کوچ کنید. Model binder آن، خودش به صورت خودکار این موارد را پوشش می‌دهد. نگارش بعدی ASP.NET Webforms هم کمی تا قسمتی از این Model binder رو به ارث برده ولی نه آنچنان که یک strongly typed view رو بتونید باهاش 100 درصد مثل MVC تعریف کنید.
در کل معماری ASP.NET Webforms مربوط به روزهای اول دات نت است و به نظر هم قرار نیست آنچنان تغییری بکند. به همین جهت MVC رو این وسط معرفی کرده‌اند.
نظرات مطالب
بررسی علت CPU Usage بالای برنامه در حال اجرا
سلام آقای نصیری
بخاطر آموزش بسیار مفیدتون ممنون.یه مطلب جالب بگم بارها شده دقیقا چیزی که باهاش به مشکل خوردم رو شما در پست بعدی وبلاگتون  آموزش دادین D:
یهع سوال از خدمت شما داشتم اینکه چند وقته بطور اتفاقی CUP Usage سرور ما برای 2 3 بار در روز به 100 درصد میرسه و این حالت حدود 5 دقیقه ادامه داره. برنامه های ما به صورت Service Oriented نوشته شده و سرویسهای مختلفی(WCF) روی IIS هاست شدن. اگر بخوام کد بالا زمانی که CPU Usage مثلا از 80% بیشتر بشه فعال بشه چکار باید بکنم؟آیا لازمه یک ویندوز سرویس بنویسم؟
با تشکر
نظرات مطالب
وضعیت فناوری‌های مرتبط با دات نت از دیدگاه مرگ و زندگی!
اسکات هنسلمن در یک فیلمی که در مورد MVC صحبت می‌کند، MVC را به موتور سیکلت و WebForms را به یک ماشین ون تشبیه می‌کند. این تشنیه به علت وجود خصایص کامپوزیتی در WebForms است که تشبیه بسیار خوبیست.

MVC خیلی خوب است اما برای مثال شما در آن نمی‌توانید یک کامپوننت ایجاد کرده و به راحتی در پروژه‌های بعدی استفاده کنید بدون اینکه به کدتان دست بزنید. (فقط از یک بُعد به کامپوننت نگاه نکنید. مثلا نه فقط بر پایه jQuery و این قبیل و یا فقط کد و ...)
این می‌تواند نقطه ضعف بزرگی باشد. به نظر من ASP.NET عقب افتاده است اما MVC نمی‌تواند جایگذین 100% آن باشد. چیز دیگری باید به وجود آید ولی آن MVC نیست. البته باید این را هم در نظر گرفت که شاید سیاستمداران مایکروسافت به این فکر کرده‌اند که وقتی با PHP وب سایت‌های معتبری را راه می‌اندازند چه نیازی به کامپوننت گرایی و ...؟!

البته اگر از حق نگذریم وب محیطی متفاوت است و رفتار با آن مانند محیط‌های دیگر، به هر حال باعث بروز سرباره می‌شود.
نظرات مطالب
مروری بر چند تجربه‌ی کاری با SQLite
آقا وحید سلام.
من برنلمه شرکت elcom نسخه Pro با سریال را تهیه کردم و حسابی تستش کردم.
حق با من بود برنامه‌ای نیست که بتونه کلمه عبور Access 2007 را بلافاصله پیدا کنه.این برنامه هم که مدعی این کار بود از تکنیک جستجو،حدس،و کتابخانه برای پیدا کردن کلمه عبور استفاده میکنه که البته سرعت باورنکردنی داره ولی اگر شما کلمه عبور بالای 6 حرف در نظر بگیرید یا برای اطمینان 100% از پیدا نشدن کلمه عبور آن را فارسی در نظر بگیرید این برنامه هم کاری نمیتونه انجام بده و یا حداقل از حوصله شما خارج خواهد شد.
مطالب
ارث بری کنترلرها در AngularJs
در Angular مکانیزمی وجود دارد که بر اساس آن می‌توان از توابع و خواص تعریف شده در یک کنترلر در سایر کنترلر‌ها نیز استفاده کرد که در واقع از ان به عنوان ارث بری کنترلر‌ها عنوان می‌شود؛ ولی نکته ای که وجود دارد این است که در جاوااسکریپ OOP پشتیبانی نمی‌شود پس چگونه یک  آبجکت کنترلر توابع و خصوصیات کنترلر دیگر را به ارث می‌برد؟ با ذکر یک مثال این مورد را بررسی خواهیم کرد.
ابتدا دو کنترلر به صورت زیر ایجاد می‌کنیم:
var app = angular.module('myApp', []);

app.controller('parentController', function () {
    this.title = 'Title from parent controller';
})

app.controller('childController', function () {
    this.title = 'Title from child controller';
})
در کدهای بالا دو کنترلر به نام parentController و childController ایجاد کردم. از parentController به عنوان کنترلر والد استفاده خواهد شد و قصد داریم که از title آن در کنترلر child استفاده نماییم. View متناظر را به صورت زیر ایجاد خواهیم کرد.
<div ng-app="myApp">
    <div ng-controller="parentController as parentCtrl">
        <div ng-controller="childController as childCtrl">
            <input type="text" ng-model="parentCtrl.title" size="100"/>
            <input type="text" ng-model="childCtrl.title" size="100"/>
        </div>
    </div>
</div>
اولین نکته این است که تگ div تعریف شده برای کنترلر child در محدوده تگ div کنترلر parent قرار گرفته است. دومین نکته این است که از روش controller as برای مقید سازی خواص به المان‌های صفحه استفاده شده است. اگر برنامه را اجرا نمایید خروجی زیر ار مشاهده خواهید کرد.

هر دو کنترلر دارای یک title مجزا هستند ولی با استفاده از یک اشاره گر توانستیم این دو title را تفکیک نماییم.
حال برای دسترسی به title کنترلر parent در سایر کنترلرها کافیست از نام مستعار parentCtrl استفاده نماییم. از آن جا که محدوده کنترلر child در داخل محدوده کنترلر parent است دسترسی به کنترلر parent امکان پذیر می‌باشد.
<div ng-app="myApp">
    <div ng-controller="parentController as parentCtrl">
        <div ng-controller="childController as childCtrl">
            <input type="text" ng-model="parentCtrl.title" size="100"/>
            <input type="text" ng-model="parentCtrl.title" size="100"/>
        </div>
    </div>
</div>
خروجی:

نکته: دسترسی به کنترلر child در کنترلر parent امکان پذیر نیست.

مطالب
لیست به روز شده‌ی بلاگ‌های IT
لیست به روز شده‌ی بلاگ‌های برنامه نویسی و IT را به صورت فایل‌های OPML جهت سهولت استفاده در برنامه‌های فید خوان، از آدرس‌های زیر می‌توانید دریافت نمائید:

100 بلاگ برتر برنامه نویسی در دنیا
دریافت

بلاگ‌های فعال در زمینه WPF
دریافت

و لیستی از وبلاگ‌های ایرانی فعال در زمینه برنامه نویسی، IT ، اخبار IT، معرفی برنامه‌ها، eBook و امثال آن. (بیشتر از 150 رکورد)
دریافت

بازخوردهای پروژه‌ها
خطای property not found
با سلام. 
در این قسمت دچار خطا می‌شوم(property not found)
columns.AddColumn(column =>
                {
                    column.PropertyName<WeekDayClassSessionSemiRow>(x => x.WD0.Percent);
                    column.CellsHorizontalAlignment(HorizontalAlignment.Left);
                    column.IsVisible(true);
                    column.Order(2);
                    column.Width(100);
                    column.HeaderCell("شنبه", horizontalAlignment: HorizontalAlignment.Left);
                    column.ColumnItemsTemplate(template =>
                    {
                        template.ProgressBar(Color.SkyBlue, true);
                        template.DisplayFormatFormula(obj =>
                        {
                            if (obj == null) return "% 0";
                            return "% " + obj.ToString();
                        });
                    });
                });
سوال بعدی اینکه آیا امکان دارد بر اساس مقدار سایر خاصیت‌ها ، برای ستون جاری دستورات شرطی ایجاد کنم ، مثلا رنگ progressBar را تغییر دهم؟
متشکرم.