عنوان:

‫Entity Framework و آینده


نویسنده: علیرضا صالحی
تاریخ: ۱۳۹۱/۰۵/۰۲ ۰:۴۳
آدرس: www.dntips.ir
همان طور که می‌دانید نسخه 5 (نهایی) از EF به همراه Visual Studio 2012 منتشر خواهد شد (...) و قابلیت‌های کلیدی افزوده شده به آن عبارتند از:
  1. پشتیبانی از Enum در هر سه حالت (Database First, Code First, Model First)
  2. پشتیبانی از Tabel-valued Function در حالت Database First
  3. پشتیبانی از داده‌های جفرافیایی  در هر سه حالت (Database First, Code First, Model First) 
  4. افزایش کارائی قابل توجه در LINQ To Entites و Entity SQL (...)
  5. قابلیت داشتن چند دیاگرام برای یک مدل 
  6. قابلیت ایمپورت دسته ای Stored Procedure ها
شاید این بهبود‌ها کم به نظر برسند ولی اتفاق مهم دیگری که رخ داده متن باز شدن کامل EF است (قبلا در 4.1 متن باز شده بود)  که در این آدرس نه تنها می‌توانید (...) به سورس کد‌ها دسترسی پیدا کنید بلکه می‌توانید در تکمیل پروژه و رفع نواقص آن نیز شرکت کنید.(...)
بنابراین روند توسعه EF از این پس کاملا قابل پیگیری (و شاید قابل تغییر) است.(...)

قابلیت‌های جدیدی که برای EF نسخه 6 در نظر گرفته شده اند عبارتند از:
  1. بهره گیری از قابلیت async در دات نت 4.5 و معرفی Async Query & Update
public async Task<Store> FindClosestStore(DbGeography location)
{
    using (var context = new StoreContext())
    {
        return await (from s in context.Stores
            orderby s.Location.Distance(location)
            select s).FirstAsync();
    }
}
  1. پشتیبانی از نگاشت Stored Procedure و Function در حالت Code First
  2. پشتیبانی از Code First conventions سفارشی (یک کاربرد آن برای جلوگیری از حجم زیاد کد نویسی در هنگام تولید مدل OnModelCreating) (...)

نظرات

  • رضا بزرگی در ۱۳۹۱/۰۵/۰۲ ۲:۲۶
    اگه میشد مطالب مرجع سایت که غالبا مهندس نصیری نوشتند رو همزمان با این تغییرات نهایی تغییر داد خیلی کار جالب توجهی میشود.
    مثلا یا به حالت ویکی که بشه نظارت کرد رو ورژن‌های مختلفی که به‌روزرسانی شدند. یا در همچین‌جور پست‌هایی با اشاره به قابلیت جدید و یا منسوخ شده‌ی مطالب مرجع.
    یه سوال؛ آیا انتظار درستیه که مرز حاضر بین ORM و رابط‌های اشیاء دیتابیس‌های NoSQL رو حذف کرد و به یه اتحاد واحد رسید. که مثلا از EF به عنوان یه روش کلی برای ارتباط با "منبع داده‌ای" یاد شود؟ چراکه همکنون ORM نقشی در NoSQLها ندارند.
    • علیرضا صالحی در ۱۳۹۱/۰۵/۰۲ ۹:۴۵
      در مورد داشتن یک ORM که هم با NoSQL‌ها کار کند و هم با RDBMS‌ها چند نکته وجود دارد، اول این که خود NoSQL‌ها خیلی با هم سازگاری ندارند، روش ذخیره سازی، مدل ذخیره سازی و ...
      دوم اینکه به طور کلی طرز تفکر و مورد استفاده و شکل Query هایی که همه ما در RDBMS‌ها به آن عادت داریم در NoSQL جاری نیست. بنابراین داشتن ORM ی که هر دو را پوشش دهد شاید منطقی به نظر نرسد.
      در اینجا بحث خوبی در این زمینه انجام شده ....
  • سیروان عفیفی در ۱۳۹۱/۰۵/۰۲ ۹:۴۳
    دیگه باید شاهد رشد سریع EF باشیم.
  • مهدی پایروند در ۱۳۹۱/۰۵/۰۲ ۱۲:۵۲
    هرجا صحبت از تفاوت و مزایای این دو ORM یعنی NH و EF پیش میاد، اولین تفاوت پشتیبانی NHibernate از کش لایه دوم هست.
    • وحید نصیری در ۱۳۹۱/۰۵/۰۲ ۱۳:۲۰
      یک EFCachingProvider رو می‌تونید اینجا ملاحظه کنید: (^)
      همچنین من از این روش راضی هستم.

  • مرتضی در ۱۳۹۱/۰۵/۲۰ ۳:۳۱
    سلام
    EF نسخه 6  از Net 4.0 با وجود Async پشتیبانی می‌کنه؟
    • وحید نصیری در ۱۳۹۱/۰۵/۲۰ ۹:۳۰
      EF 5 به بعد بر مبنای دات نت 4 و نیم است.
      ویندوز 8 دات نت 4 و نیم سر خود است.
      از دیدگاه تیم BCL، دات نت 4 و نیم یک به روز رسانی درجای دات نت 4 است و صد در صد با آن سازگاری دارد.
      دات نت 4 و نیم فقط بر روی ویندوزهای ویستا سرویس پک 2 به بعد قابل نصب است (روی XP یا ویندوز سرور 2003 نصب نمی‌شود).

      • ایمان محمدی در ۱۳۹۱/۰۵/۲۰ ۱۱:۴۹
        این که روی xp  نصب نشه خیلی ناجوره عملا تو بخش application تا مدت‌ها بی استفاده می‌مونه ، بنظرتون این یک اهرم فشار برای حذف xp و سرور 2003 هست یا از لحاظ فنی جوابگو نبودن؟
        • علیرضا صالحی در ۱۳۹۱/۰۵/۲۰ ۱۵:۱۸
          ویندوز ایکس پی در حال حذف شدنه، هر چند خیلی‌ها هنوز در حال استفاده از اون هستند، ولی سرعت آپگرید کردن به 7 در حال زیاد شدنه.

          البته در ایران که هنوز سازمانهایی مانند تامین اجتماعی با فلاپی درایو سر و کار دارند، یک مقداری این مسئله مشکل ساز میشه.
          • ایمان محمدی در ۱۳۹۱/۰۵/۲۰ ۱۶:۴۶
            دو گل سرسبد ایران یکی آموزش و پرورش  یکی تامین اجتماعی که علاقشون به foxpro  و فلاپی تموم نمیشه ،ولی در نظر بگیرید به مشتری تون بگید ( سازمانی یا عمومی) نرم افزار روی ویندوز xp  نصب نمیشه! خودمم باشم قبول نمی‌کنم. با اینکه تمام سیستم‌ها رو معمولا به سون ارتقا میدیم ولی بعضی وقت‌ها سیستم قدیمیه و نمی‌کشه روش سون نصب کرد.نکته ای دیگه ای که وجود داره همه دنیا مثل ما پیشرفته و پول دار نیستند که روی همه کامپیوتر هاشون ویندوز سون ultimate  نصب کنند.
  • وحید نصیری در ۱۳۹۱/۰۵/۲۶ ۰:۲۴
    EF 5 امروز منتشر شد و نکته مهم آن این است که با دات نت 4 هم سازگاری دارد. در دو نسخه دات نت 4 و دات نت 4 و نیم تهیه شده است.
    البته اکثر قابلیت‌های جدید آن مخصوص دات نت 4 و نیم است مانند:
    enum support
    spatial data types
    table-valued functions 
  • مهمان در ۱۳۹۱/۰۵/۲۶ ۹:۲۵
    سلام جناب مهندس نصیری،
    می خواستم بدونم EF5 و MVC4 در نسخه‌های Express ویژوال استودیو قابل نصب و بکارگیری می‌باشند یا خیر؟
    در کل مایکروسافت برای ترویج عموم توسعه دهندگان به نوشتن app بر روی ویندوز 8 تا چه میزان بر روی نسخه‌های Express ویژوال استودیو سرمایه گذاری و آینده نگری می‌کند؟
    • وحید نصیری در ۱۳۹۱/۰۵/۲۶ ۹:۳۵
      EF5 چندتا DLL بیشتر نیست. این‌ها رو دریافت و به پروژه خودتون اضافه کنید.
      - نسخه express مخصوص vs2012 هم موجود است (^).
  • مهمان در ۱۳۹۱/۰۶/۱۳ ۱۰:۴۳
    بسیار هم عالی