استفاده از خاصیت Local در Entity Framework
زمانی که از LINQ To Entity استفاده می‌کنیم، با هر بار اجرای یک کوئری، این کوئری به سمت دیتابیس ارسال شده و اطلاعات مورد نظر را بازیابی می‌کند. حال اگر ما موجودیت جدیدی را به Context جاری اضافه کرده ولی آن را ذخیره نکرده باشیم، به علت عدم وجود موجودیت در دیتابیس (در حافظه وجود دارد) کوئری ارسالی ما این موجودیت جدید را شامل نمی‌شود. البته شایان ذکر است زمانیکه از متد Find استفاده می‌کنیم، به صورت پیش فرض ابتدا داخل حافظه کاوش شده و در صور ...
واکشی اطلاعات به صورت chunk chunk (تکه تکه) و نمایش در ListView
یکی از مسائلی که در هنگام کار با کنترلهای داده‌ای نظیر ListView , GridView و .. با آن روبرو هستیم مسئله صفحه بندی می‌باشد و در بسیاری از موارد، کل اطلاعات در هر درخواست، بارگذاری میشود. در حالیکه روش بهینه به این صورت است که با توجه به PageSize و Index رکورد، می‌توان تعداد رکورد مورد نظر در همان صفحه را بارگذاری کرد، نه کل رکوردها را. در این مثال که از Ef Code First و الگوی Unit Of Work استفاده کرده ...
کار با کلیدهای اصلی و خارجی در EF Code first
در حین کار با ارتباطات بین اشیاء و جداول، دانستن یک سری از نکات می‌توانند در کم کردن تعداد رفت و برگشت‌های به سرور مؤثر واقع شده و نهایتا سبب بالا رفتن سرعت برنامه شوند. از این دست می‌توان به یک سری نکات ریز همراه با primary-keys و foreign-keys اشاره کرد که در ادامه به آن‌ها پرداخته خواهد شد. در ابتدا کلا‌س‌های مدل و Context برنامه را به شکل زیر درنظر بگیرید: using System; using System.Data.Entity; using System.Data.Entity.Migrat ...
پیاده سازی لایه دسترسی به داده ها توسط EF CodeFirst و Service Layer
چندی پیش یک مجموعه آموزشی کامل تحت عنوان EF CodeFirst توسط آقای نصیری در این سایت قرار داده شد که بسیار کامل و زیبا بود.یک پیاده سازی بر اساس این آموزش‌ها تهیه کردم که می‌توانید از اینجا دریافت نمایید و شامل پروژه‌های زیر می‌باشد: EFCodeFirst-GenericServices.rar DomainClasses : شامل کلاس‌های مربوطه جهت نگاشت به جداول پایگاه داده ؛ به علاوه کانفیگ‌های مربوطه می‌باشد. DataLayer ...
SQL Server CE و ثبت متون طولانی در EF Code first
زمانیکه در EF Code first تعریف خاصیتی به نحو زیر باشد public string Content { get; set; } در حین کار با SQL Server به صورت خودکار به nvarchar max نگاشت می‌شود. اما همین تعریف در SQL Server CE به nvarchar 4000 نگاشت خواهد شد؛ چون این بانک اطلاعاتی نوع‌های max دار را پشتیبانی نمی‌کند. بنابراین اگر هدف، ثبت اطلاعات در فیلدی از نوع ntext در این بانک اطلاعاتی باشد باید به یکی از دو روش زیر عمل کرد: [MaxLength] public string Conte ...
تعیین شمای جداول بانکی در EF Code First
کلاس‌های زیر را در نظر بگیرید: public class Customer { public virtual string Id { get; set; } public virtual string Name { get; set; } public virtual DateTime HireDate { get; set; } } و Context ی که کلاس فوق به آن اضافه میشود: public class MyContext : DbContext { public DbSet<Customer> Customers{ set; get; } } حالا زمان ایجاد جدول، با توج ...
Implementing second level caching in EF code first
هدف اصلی از انواع و اقسام مباحث caching اطلاعات، فراهم آوردن روش‌هایی جهت میسر ساختن دسترسی سریعتر به داده‌هایی است که به صورت متناوب در برنامه مورد استفاده قرار می‌گیرند، بجای مراجعه مستقیم به بانک اطلاعاتی و خواندن اطلاعات از دیسک سخت. عموما در ORMها دو سطح کش می‌تواند وجود داشته باشد: الف) سطح اول کش که نمونه بارز آن در EF Code first استفاده از متد context.Entity.Find است. در بار اول فراخوانی این متد ...
استثناهایی که باید حین استفاده از EF Code first بررسی شوند
سه نوع استثنای مهم ممکن است حین ذخیره سازی تغییرات در EF code first رخ دهند که بررسی جزئیات آن‌ها می‌تواند راهنمای خوبی برای کاربر و همچنین برنامه نویس در عیب یابی سیستم باشد. این استثناءها باید به صورت مستقل و جداگانه بررسی شوند ونه اینکه از حالت عمومی catch Exception استفاده شود. این سه نوع استثناء شامل موارد DbEntityValidationException، DbUpdateConcurrencyException و DbUpdateException هستند که به صورت خلاصه به شکل زیر باید تعریف شو ...
ویدئوهای آموزشی Entity Framework با زیرنویس فارسی
یه سری ویدئو آموزشی EF  که توسط PulralSight به سفارش مایکروسافت خیلی وقت پیش تهیه شده بود رو با کمک یکی از دوستان داریم زیرنویس می کنیم (البته بیشترش رو دوست خوبم آقا حامد زحمتش رو کشیدن و من فقط تونستم پارت اول رو زیرنویس کنم و در حال زیرنویس پارت سوم هستم) در حال حاضر چهار پارت از این مجموعه زیرنویس شده : پارت اول : چگونگی ایجاد یک EDM از روی پایگاه داده  پارت دوم : ساخت EDM به روش Model First پارت چهارم :&nb ...
EF Code First #15
EF Code first و بانک‌های اطلاعاتی متفاوتدر آخرین قسمت از سری EF Code first بد نیست نحوه استفاده از بانک‌های اطلاعاتی دیگری را بجز SQL Server نیز بررسی کنیم. در اینجا کلاس‌های مدل و کدهای مورد استفاده نیز همانند قسمت 14 است و تنها به ذکر تفاوت‌ها و نکات مرتبط اکتفاء خواهد شد.حالت کلی پشتیبانی از بانک‌های اطلاعاتی مختلف توسط EF Code firstEF Code first با کلیه پروایدرهای تهیه شده برای ADO.NET 3.5 که پشتیبانی از EF را لحاظ کرده باشند،‌ به خوبی ...