جشنواره دانشجویار به مناسبت مبعث و روز معلم با 50 درصد تخفیف

کد تخفیف: mabas

چه دوره ای می خواهید یاد بگیرید؟

آینده خود را با دوره های آموزشی دانشجویار تضمین کنید

۴۸۶۸ ساعت فیلم تدریس شده است

بیش از ۵۰ هزار دانشجو

بیش از ۳۰۰ مدرس

دانلود فیلم آموزش Entity Framework در سی شارپ

entity dar c# pasban

Entity from work in Data Base

مجموعه‌ای از تکنولوژی‌ها در .NETاست که توسعه نرم‌افزارهای بر مبنای داده بخصوص پایگاه داده را پشتیبانی می‌کند. در استفاده از .NET معمولا از سه روش وجود دارد:

ADO.NET

Linq 2 SQL یا به اختصار L2S

Entity Framework یا بهاختصارEF

قبل از این که بخواهیم باEntity Frameworkآشنا شویم، بهتر است مفهومORMرا بدانیم.ORMیا Object Relational Mappingابزاری است که به وسیله آن می توان جداول پایگاه داده را پردازش کرد و آنها را به فرمت شیءنگاشت کرد که در کدنویسی خواناتر باشند. در کدنویسی به جای این که به صورت مستقیم با جداول پایگاه داده کار کنیم بر روی اشیاء کار می کنیم. به این اشیاء موجودیت یا Entity گفته می شود.

Entity Framework یک ORM است که توسط شرکت Microsoft توسعهدادهمیشود. نسخه ۱٫۰ آن مایوس کننده بود و در موارد بسیاری کمبود داشت. اما با توجه به سرمایه گذاری زیادی که Microsoft روی پروژه انجام داده بود، مشخص بود که قصد جدی در توسعه این ابزار دارد. نسخه کنونی آن، ۴ هست که باStudio 2008Visual روی سیستم نصب میشود. با توجه به اهمیت این بحث برای Microsoft، انتظار میرود که توسعه این ابزار به طور فعالی ادامه پیدا کند و امکانات کاملی به آن اضافه شود.

ADO.NET Entity Framework به گونه ای طراحی شده است تا توسعه دهندگان را قادر سازد در مقابل مدل های مرسوم مفهومی (conceptual)، از یک مدل جدید با امکان دسترسی و برنامه نویسی مستقیم بر اساس ساختار یک پایگاه داده رابطه ای استفاده نمایند. هدف از تولید این مدل، کاهش چشمگیر میزان کدنویسی، سهولت گسترش، ترمیم، بهبود و نگهداری برنامه ها بوده است.

چرا از Entity Framework استفاده می کنیم؟

·        دسترسی به داده ها را ساده می سازد و به ما اجازه می دهد تا مدل مفهومی مورد نیاز برای کسب و کار را ایجاد کنیم.

·        EF اجازهمیدهدتاشماروابطچندبهچند (n: n) را بدون join ها متعدد مدیریت نمایید.

·         جهت کاهش پیچیدگی کد، جداول مرتبط را در یک Entity مدل می کند.

·        پشتیبانی غنی و خوب از ارث بری ها برای جدول به ازای سلسله مراتب، زیرکلاس (subclass) و تایپ های به هم چسبیده (concrete type).

·        چون دارای مکانیسم بسیار قوی Query گیری از Entity هاست. کسانی که مایل با استفاده از LINQ نیستند، میتواننداز Entity Client provider  همراه باEntitySQLاستفاده نمایند.

·        مستقل از نوع پایگاه داده می باشد و بر اساس استاندارد ADO.NET Providers. کار می کند.

روش های استفاده از EF :

حال که بررسی کردیم که چرا باید از EF استفاده کنیم، به روش های استفاده از این روش خواهیم پرداخت.

۱) روش Database First  :

یعنی وظیفه توسعه دهنده نرم افزار این است که پایگاه داده را ایجاد کند. سپس با دادناین پایگاه داده به Entity Framework،  یک فایل مدل با پسوند edmx  تحویل بگیرد. در این فایل که یک فایل xmlاست، اطلاعات مربوط به موجودیتها، خصوصیات هر موجودیت و نوع داده هر خصوصیت قرار گرفته است. (به این قسمت از فایل مدل مدل مفهومی گفته می شود). در فایل مدل علاوه بر مدل مفهومی، مدل فیزیکی هم قرار دارد. مدل فیزیکی اطلاعات مربوط به جداول پایگاه داده و فیلدهای هر جدول و نیز نوع داده هر فیلد قرار گرفته است. فایل مدل شامل قسمت دیگری است که بیان می کند جداول پایگاه داده به چه موجودیتهایی نگاشت شده اند.

۲) روش Model First :

در این روش وظیفه توسعه دهنده نرم افزار، ایجاد مدل می باشد. یعنی او خود فایلedmxرا می سازد. بعد از این کار می تواند ازEFبخواهد تا پایگاه داده مربوط به این مدل را ایجاد کند. برای این کار او ازیک ابزار ویژوال به اسم Entity Data Model Designerاستفاده می کند. این ابزار ویژوال بسیار قدرتمند می باشدو امکاناتی از قبیل ساختن موجودیتها، تعیین ارتباط بین موجودیتها، ایجاد کلید برای هر موجودیت، کاردینالیتی رابطه ها و غیره را در اختیار توسعه دهنده قرار می دهد.

در روش های الف و ب ، در Code Behindمدل کلاسهایی مربوط به هر موجودیت و نیز شیContextوجود دارد.

۳) روش Code First :

این روش خود شامل دو قسمت می باشد:

اول؛ این است که توسعه دهنده کلاس های مربوط به هر موجودیت را ایجاد می کند. او این کار را با برنامه نویسی انجام می دهد. یعنی باید تک تک کلاسها، به همراه خصوصیات هر کلاس و البته خصوصیاتNavigationرا بابرنامه نویسی ایجاد کند. خصوصیاتNavigationآن دسته از خصوصیاتی هستند که ارتباط آن کلاس را با کلاس های دیگر مشخص می کنند. در این روش هیچ فایل مدلی وجود نخواهد داشت.

دوم؛ این است که مثل روشDatabase Firstابتدا توسعه دهنده یک پایگاه داده ایجاد می کند، سپس مدل را ایجاد می کند، سپس از یک افزونه می خواهد که موجودیتها را به همراه Contextایجاد کند و اینها را از مدل جدا کند. اگر موجودیتها به این طریق ایجاد شوند به آنها POCOگفته می شود. فرق آن با روشDatabase Firstدر همین نکته است. در اینجا فایل مدل (فایلedmx ) فقط اطلاعات مربوط به موجودیتها را نگهداری می کند و در Code Behindآن هیچ کدی نوشته نمی شود.

مزایا
۱- سطح یادگیری ساده: کار با EF به نسبت بقیه ORMها تقریبا ساده تراست.
۲- پشتیبانی از پایگاه داده های مختلف در نسخه ۴٫
۳- توسعه فعال: همانطور که اشاره شد، به نظر می رسدMicrosoft، قصد جدی در توسعه این قابلیت دارد. اضافه شدن امکانات زیاد به نسخه ۴ نشاندهنده همین مطلب هست. مثل امکان Code First، Lazy Loading و …که در نسخه ۴ به EF اضافه شده اند.
۴-  توسعه دهندگان قادرند تا با ساختار شیء گرایانه سازگار با انواع سیستم های مدیریت داده کار کنند.
۵- پشتیبانی کامل از Linq.
۶- نصب خودکار باStudioVisual.

۷-  مرتبط شدن چندین مدل مفهومی به یک ساختارپایگاه داده.

۸-  برنامه های کاربردی قادر خواهند بود تا در مدل مفهومی خود (conceptual model) محوریت بیشتری به خود برنامه ببخشند به گونه ای که شیء گرایی، ارث بری، گونه ها (Type) های پیچیده تر و روابط بین جداول و اشیاء بهتر پیاده سازی شوند.
۹-برنامه نویس ها از کدنویسی زیادی پیچیده رها می شوند.
۱۰-  بدون کوچک ترین تغییر کد برنامه خواهیم توانست مدل ارتباط بین ساختار پایگاه داده و مدل مفهومی را تغییر دهیم.
معایب:
۱- امکانات ناکافی: با وجود اضافه شدن امکانات زیادی به نسخه ۴، اما این ابزار هنوز نسبت به ORMهای محبوب، دارای کم و کاستی هایی هست.
۲- تسلط پایین بر کد تولید شده: به خاطر استفاده از Designer، روی کدی که تولید میشود، نمی توان تسلط زیادی داشت که البته با استفاده از کلاسهای partial، این مساله تا حدی بهبود داده شد.

انتخاب بینL2SوEF:

حال که با روش EF آشنا شدیم، در پایان بررسی می کنیم که چه زمانی از Linq و چه زمانی از EF استفاده کنیم.

الف) Linq 2 SQL

زمانی که:

۱- از یک  ORMاستفاده کنیم و پایگاه داده ما در یک رابطه ۱ به ۱ با مدل اشیاء قرار دارد.

۲- از یک  ORMکه ساختا رسلسله مراتبی ای را که دریک جدول ذخیره شده است، ارث بری کرده باشد.

۳-استفاده از کلاس هایی که خودمان نوشتیم، درکنارکلاسهای تولید شده توسط سیستم یا ارثبری از کلاسهای پایه یا پیاده سازی رابط ها درکلاسها.

۴- استفاده از  LINQبه عنوان ابزار  Queryنویسی

۵- استفاده از یک  ORMبا حفظ کارآیی و امکان بهبود آن از طریقStored Procedureها وQueryهای کامپایل شده.

ب) Entity Framework

زمانی که :

۱- بخواهیم برنامه ما به پایگاه داده های دیگری به جز  Microsoft SQL Serverنیز دسترسی پیدا کند.

۲- بخواهیم  domain modelsبرای برنامه مان تعریف کنیم و از آن به عنوان لایه  persistenceاستفاده نماییم.

۳- از یک راهکار  ORMی استفاده کنیم که ممکن است کلاسهایمان رابط های ۱:۱ با پایگاه داده داشته باشد یا ممکن است ساختاری بسیار متفاوت و پیچیده در ارتباط با پایگاه داده دارا باشد.

۴- میخواهیم از یک  ORMاستفاده کنیم که ساختارهای سلسله مراتبی در آن، معادل های پایگاه داده ای متفاوتی داشته باشد. مانند وقتی که جدولی جهت نگهداری سلسله مراتب، جداولی برای هر یک ازکلاسها وجدولی جهت نگهداری گونه ای (Type) خاص داریم.

۵- وقتی میخواهیم از  LINQجهت نوشتن Queryها استفاده کنیم درحالیکه  Queryدرپایگاه داده به شیوه خاص و درسلطه سازنده آن عمل میکند.

۶- استفاده از کلاسهایی که خودمان نوشتیم، درکنارکلاسهای تولیدشده توسط سیستم یا ارثبری ازکلاسهای پایه یا پیادهسازی رابطها درکلاسها.

۷- استفاده از یک  ORMبا حفظ کارآیی و امکان بهبود آن از طریقStored Procedureها و Queryهای کامپایل شده.

مطلب مفیدی برای شما بود ؟؟ پس به اشتراک بگذارید برای دوستانتان

دریافت کنید

  •   لینک :   براي دانلود روي تصوير مقابل کليک کنيد »
در صورتی که توضیحات نوشته، دموی آموزش و لینک های ارزیابی پاسخگوی سوالات شما در مورد این دوره آموزشی نمی باشد و نیاز به مشاوره بیشتری دارید لطفا این فرم را تکمیل کرده و در ساعات اداری منتظر تماس همکاران ما باشید.
  • *
  • *
  • *
  • *
  • در صورتی که توضیحات نوشته، دموی آموزش و لینک های ارزیابی پاسخگوی سوالات شما در مورد این دوره آموزشی نمی باشد و نیاز به مشاوره بیشتری دارید لطفا این فرم را تکمیل کرده و در ساعات اداری منتظر تماس همکاران ما باشید.

    پیام شما با موفقیت ثبت شد. در اولین فرصت با شما تماس گرفته خواهد شد.
    • مطالب مرتبط
    • دیگر آموزش های مرتبط با این مدرس
    • رزومه مدرس

    نظرات کاربران

    ۱۰
    • vida
      پنج شنبه ۴ تیر ۱۳۹۴ - ۱۲:۰۴

      عالیییی

    • نرگس
      دوشنبه ۱۱ اسفند ۱۳۹۳ - ۲۲:۳۰

      سلام
      من دوبار دانلود کردم ولی هربار موقع اکسترک خطای CRC داد. با نرم افزار ۷zip هم که اکسترک کردم فیلم نصفه بود.

    • elham
      جمعه ۱ اسفند ۱۳۹۳ - ۰۵:۳۲

      سلام
      ممنون خیلی خوب بود

    • Mali
      یکشنبه ۲۵ آبان ۱۳۹۳ - ۰۸:۰۸

      عاااااااااااااااااااااااااااااااالی بو.

    • narges
      دوشنبه ۳ شهریور ۱۳۹۳ - ۱۹:۱۲

      سلام.
      واقعا جای تشکر داره.
      خیلی وقته دنبال چنین آموزشی میگشتم
      ممنون از زحماتتون

    • aryanss
      جمعه ۱ شهریور ۱۳۹۲ - ۱۶:۵۱

      تو این اموزش برا تابع savechangs در زمان اجرا ارور میده همش
      اعصاب نذاشته

    • آرزو
      پنج شنبه ۱۳ تیر ۱۳۹۲ - ۲۱:۱۳

      کاشکی آموزش اکشن اسکریپت ۳ رو هم داشتید;(

    • aryanss
      پنج شنبه ۱۳ تیر ۱۳۹۲ - ۰۲:۳۴

      سلام
      من همه فیلمای c# رو گرفتم از سایت
      الان برای دسته بندی کردنشون نمیتونم قسمت۹و۱۰ اموزش استاد پاسبان و پیدا کنم
      اگه میشه راهنمایی کنین

    • ali
      چهارشنبه ۱۲ تیر ۱۳۹۲ - ۱۸:۳۶

      این فیلم استور پروسیجر هستش

    • خودم هستم
      چهارشنبه ۱۲ تیر ۱۳۹۲ - ۰۸:۴۵

      با سلام و خسته نباشید
      خیلی خوبه
      انشاالله همیشه موفق باشید

    دسته بندی

    تحصیلات تکمیلی

    رشته الکترونیک

    رشته کامپیوتر

    سایر دسته های دانشجویار

    سایر نرم افزارها

    مدرسین

    تعداد دوره
    بر اساس امتیاز
    حروف الفبا
    • کد تخفیف :

      mabas

      جشنواره دانشجویار به مناسبت عید مبعث و روز معلم
      50 درصد تخفیف
    • کد تخفیف :

      goldpack

      ویژه خرید پکیج طلایی (C#,ASP,PHP,Android,Network)
      60 درصد تخفیف

    دوره های آنلاین دانشجویار

    مطالب سایت بر اساس

    جدیدترین ها
    محبوب ترین ها
    بطور تصادفی
    دانشجویار مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت logo-samandehi دانشجویار