نظرات مطالب
گروه بندی اطلاعات و گزارشات Master-Details در PdfReport
- اگر روی یک فیلد قرار است گروه بندی شود، فقط یکبار column.Group را تعریف کنید. مابقی تعاریف column.Group باید حذف شوند. بنابراین اگر پایه گروه بندی، فیلد ReceptionPatientId است، تعاریف مرتبط با آن را نگه دارید و سطر column.Group مابقی رو حذف کنید. همچنین فرض هم بر این خواهد بود که اطلاعات شما بر اساس فیلدهای شرکت کننده در گروه بندی پیشتر sort شده‌اند.
column.Group((val1, val2) =>
                     {
                         return (int)val1 == (int)val2;
                     });
- ضمنا الزاما نیازی نیست یک view رو تبدیل به datatable کنید برای استفاده در اینجا. دیتاسورس کار با sql server هم وجود دارد برای کارآیی و سرعت بیشتر.
- لطفا برای سؤالات بعدی از قسمت پرسش و پاسخ مرتبط با این پروژه در سایت استفاده کنید.
نظرات مطالب
آشنایی با Window Function ها در SQL Server بخش چهارم
سلام
شما می‌توانید، با دستکاری Query‌ها خروجی‌های یکسانی را ایجاد نمایید، دو Query که ایجاد نمودید، خروجی یکسانی ندارند. Query دوم شما با خروجی Last_Value،مقاله یکسان است، اما باید بگویم که مفهوم Last_Value این است که آخرین سطر در یک گروه را بر می‌گرداند. بهتر است بخش اول را مطالعه نمایید.
علت یکسان نبودن نتیجه دو Query شما در نحوه Sort و مفهوم First_value و Last_Value می‌باشد:
نکنه: اگر در Over Clause شرط Order by را اعمال نماییم، اما از Row یا Range استفاده نکنیم، SQL Server بصورت پیش فرض از قالب زیر استفاده می‌نماید: 
RANGE UNBOUNDED PRECEDING AND CURRENT ROW

نظرات مطالب
EF Code First #9
آقای نصیری با سلام.
من 4 تا Entity دارم و یک Entity پایه. استراژی پباده سازی اون هم TPT است . جدول پایه حدود 100 فیلد دارد. موجودیت‌های فرزند هم هرکدام حدود 30 ستون دارند. وقتی با EF Code First داده‌ها را واکشی میکنم کوئری بسیار سنگین را در SQL Server Profiler ایجاد می‌شود  که وقتی آنرا در NotePad کپی میکنم چیزی حدود 60 کیلوبایت می‌شود. ضمناً به تمام ستون‌های جداول نیاز دارم تا آنها را در گرید نمایش دهم.
درصورت امکان راهنمایی کنید.heavyQuery.txt
نظرات مطالب
EF Code First #12
علت این است که یک SaveChanges در اینجا تعریف شده (ضمنا زمان اجرای این‌ها مهم نیست. بحث ما در مورد تعدد تراکنش‌ها بود). چند سطر زیر را اضافه کنید بعد از سطر آخر و مجددا تست کنید:
//...            
uow.SaveChanges();
//...            
var product3 = new Product { Name = "P300", Price = 300 };
var category2 = new Category
{
                Name = "Cat200",
                Title = "Title200",
                Products = new List<Product> { product3 }
};
categoryService.AddNewCategory(category2);
uow.SaveChanges();
من دو تراکنش مجزا رو در برنامه مطمئن و تست شده SQL Server Profiler مشاهده می‌کنم (به ازای هربار فراخوانی SaveChanges).

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

نظرات مطالب
EF Code First #1
1 و 3 - در انتهای بحث عرض کردم در قسمت‌های بعدی خیلی از موارد رو توضیح خواهم داد. این قسمت اول و فقط یک «مقدمه» ابتدایی بود.
2 - EF با بانک‌های اطلاعاتی NoSQL کار نمی‌کند. ضمنا هستند بانک‌های اطلاعاتی NoSQL ایی که برای دات نت نوشته‌ شده‌اند و از همان روز اول با کلاس‌ها و LINQ کار می‌کنید مانند RavenDB . طراحی فوق ‌العاده‌ای داره (^).
استفاده از EF Code first با سایر بانک‌های اطلاعاتی بجز مشتقات SQL Server نیز میسر است. برای آن‌ها نیاز به پروایدر مخصوص وجود دارد؛ مثلا: (^)