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