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

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

۵۷۱۶ ساعت فیلم تدریس شده است

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

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

فیلم آموزش درج در بانک اطلاعاتی با تکنولوژی LINQ

شاید شما بگویید که ADO.NET می تواند با استفاده از  DataSet به این آرمان دست یابد .اما در این جا از یک شی  DataAdapter  می بایست استفاده کنید . یک شی DataAdapter چهار شی  Commandرا در خود پیاده سازی می کند که این اشیاء برای انجام عملیات Select ،Delete ،Update و Insert بر روی پایگاه داده مورد استفاده قرار می گیرند ولی توجه داشته باشید که برای انجام این عمل شما می بایست این اشیاء را با عبارت SQL  مناسب خود مقدار دهی کنید و اگر متوجه شده باشید تا هنگام اجرای برنامه نمی توانیم از صحت عبارت SQL خود  اطمینان کسب کنید .این بدان معناست که عبارات SQL در زبان های دات نت بیگانه هستند و عبارت SQL مقدار دهی شده برای دات نت و برنامه نویس در تاریکی است !

 

images

LINQ  چیست؟

در کنفرانس توسعه دهندگان حرفه ای مایکروسافت (PDC) در سال ۲۰۰۵ ، آقای هلسبرگ یک تکنولوژی جدید که بتوان با آن با هر نوع منبع داده ای به یک روش یکسان اتصال برقرار کرد ، به نام LINQ  ارائه کرد.

LINQ  مخفف عبارت Language-Integrated Query است توجه داشته باشید که آن را لینک (Link) تلفظ کنید .

LINQ یک راه یکسان برای اتصال اتصال برقرار کردن و بازیابی اطلاعات از هر شی که رابط IEnumerableرا پیاده سازی کرده باشد فراهم میکند. بوسیله LINQ می توان با آرایه ومجموعه (Collection) درون حافظه ،پایگاه داده های رابطه ای و حتی اسناد XML را به عنوان منبع داده در نظر گرفت و با آن کار کرد!

بوسیله LINQ می توان اطلا عات را از هر منبع داده ای دادهی با گرامری مشابه و خوش شکل بازیابی کرد .گرامری که بسیار شبیه به نوشتار نحوی SQL است ،توجه داشته باشید که هدف تیم سازنده LINQ ، اضافه کردن یک را جدید برای بازیابی دادها نیست ، بلکه فراهم کردن یک مجموعه دستورات محلی و جامع برای بازیابی اطلاعات  (Query Expression)که از هر نوع منبع داده ای پشتیبانی می کند.

LINQ یه سری مجموعه دستورات توانمند را ارائه می دهد که بوسیله آنها می توان پرس و جوهای پیاده سازی کرد که از مواردی چون Join ها، توابع Aggregation ،مرتب سازی ، فیلتر و… پشتیبانی کند.این دستورات را language-level می نامند و دیگر نیازی به کامپایل برای دیدن نتیجه نیست ! بله این مشکلی بود که در  تکنولوژی ADO.NET با آن دستو پنجه نرم می کردیم ،یعنی برای مشاهده نتیجه کوئری آن را اجرا می کردیم و مشکلاتی از قبیل خطا یابی که برنامه نویسی را دشوار می کرد .

شاید شما فکر کنید که LINQ ابزاری است که بتوان با آن کوئری های برای آرایه و مجموعه ها ، پایگاه داده و یا XML پیاده سازی کرد ولی این تعریف درستی از LINQ نیست بلکه یک تکنولوژی است که بتوان Provider های را پیاده سازی کرد تا بوسیله آن با پایگاه داده ها ارتباط برقرار کرد به طور مثال Provider های مانند LINQ to SQL  و یا LINQ to XML که توسط تیم توسعه .NET پیاده سازی شده اند به آن مدل Provider اطلاق می شود (LINQ provider model).

نمودار زیر توسط اعضای تیم توسعه دات نت تهیه شده که عملکرد  LINQ را نشان می دهد.

بالا ترین سطح نمودار نشان دهنده زبان های است که پشتیبانی کاملی از LINQ انجام می دهند
سطح میانی این نمودار ۵ بخش اصلی پروژه لینک را نشان می دهد:

  • LINQ to Objects : یک API  است و متدهای که نشان دهنده عملگر های استاندارد پرس و جو می باشند را فراهم می کند. این متدها برای بازیابی اطلاعات از تمامی اشیائی که رابط  IEnumerable را پیاده سازی کرده باشند ، استفاده می شود ( آرایه و مجموعه عام و غیر عام  درون حافظه) .
  • LINQ to DataSet : این مدل،از عملیات پرس و جو بر روی DataTable ها و DataSet های موجود در ADO.NET پشتیبانی می کند.
  • LINQ to SQL :   نامی است که برایAPI ، IQueryable معین شده که به وسیله آن با می توان از بانک های رابطه ای مانند SQL Sever استفاده کرد.به طور خلاصه باعث تسهیل در استفاده از بانک اطلاعاتی را برای استفاده از بانک اطلاعاتی برای پرس و جو ،درج ،حذف و ویرایش می شود. برای استفاده از LINQ to SQL می بایست یک ارجاع به اسمبلی System.Data.Linq.dll داشته باشید.
  • LINQ to Entities : یک راه حل ارائه شده توسط Microsoft ORM می باشد و توسعه یافته LINQ to SQL است.LINQ to Entities بین پایگاه داده ی فیزیکی و طراحی منطقی و تجاری قرار می گیرد و اجازه استفاده از آن را به صورت  موجودیت (Entites) ها می دهد (موجودیت های که شاید از چندین جدول درست شده باشند)
  • LINQ to XML : علاوه بر تعمیم عملگرهای استاندارد پرس و جو شامل یک سری خصوصیات ویژه XML برای ایجاد اسناد XML و همچنین پرس و جو بر روی آنها می باشد البته Micosoft خصوصیت جدیدی برای استفاده از اسناد XML طراحی نکرده بلکه  استاندارد XML DOM  را پشتیبانی کرده است یعنی دیگر نیازی به یادگیریXPath  ندارید .برای استفاده از LINQ to XML می بایست یک ارجاع به اسمبلی System.Xml.Linq.dll به پروژه اضافه کنید

البته برنامه نویسان می تو انند این Provider ها را توسعه دهند و برای مصارف خاص از آنها استفاده کنند در زیر لیستی از Provider های توسعه یافته به همراه لینک مربوطه، موجود است :

مدل رابطه ای دارای مزایایی است که در نگاه اول متوجه آن نمی شویم ولی با نگرش در آن به این مزایا واقف می شویم.

  • برنامه نویس می تواند با تصور خود کوئری طراحی کند و آنها را به صورت بصری ویرایش کند.
  • با فراهم شدن گزینه قبل شرایطی بوجود می آید که که برنامه نویس می تواند کوئری خود را به حداکثر کارایی خود برساند چون کوئری را مشاهده می کند.
  • برنامه نویس می تواند Provider ی برای  منبع داده خود طراحی کند تا دیگران با آن به منبع داده او دسترسی داشته باشند به طور مثال اگر شما یک  web service  داشته باشید و بخواهید کاربران تحت یک سیستم به آن دسترسی داشته باشند برای این منطور می توانید یک Provider طراحی کنید.

اسمبلی های مر کزی LINQ:

  • System.Core.dll : انواعی را تعریف می کند که LINQ API مرکزی را نمایش می دهند . این یکی از اسمبلی های است که شما باید به آن ارجاع داشته باشید
  • System.Data.Linq.dll : کارایی برای استفاده LINQ با پایگاه داده های رابطه ای را مهیا می کند.(LINQ to SQL)
  • System.Xml.Ling.dll : کارایی برای استفاده LINQ  با اسناد XML را فراهم می کند.(LINQ to XML)

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

دریافت کنید

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

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

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

    ۵
    • hossein
      چهارشنبه ۲۷ فروردین ۱۳۹۳ - ۱۴:۱۲

      سلام خیلی منون از زحمات خوبتون
      سایتتون واقعا عالی حداقل برا من که اهل روستا هستم و نمیتونم جهت یاد گرفتن برنامه نویسی که عاشقشم به مراکز استان رفت آمد کنم. ولی خوب تو زمینه برنامه نویسی خیلی مشکل برام پیش میاد
      از جمله اینکه وقتی خواستم از تکنولوژی لینک استفاده کنم ، زمانی که خواستم پایگاه دادمو از اس کیو ال سرورم که نسخه ۲۰۰۸ هست رو add کنم این ارور رو داد:
      this server version is not supported. only up to Microsoft sql server 2005 are supported
      اینمبگم که نسخه ویژوال استودیو من هم ۲۰۰۸ هست و ابتدا اس کیو ال رو نصب کردم بعد ویژوال استودیورو نصب کردم. البته وقتی با استفاده از کد به بانکم وصل میشم هیچ موردی نداره و کلیه اطلاعاتم رو میتونم اضاقه حذف و ویرایش کنم با ADO.
      اگه لطف کنید و جواب سوالم رو به ایمیلم بفرستید ممنون میشم

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

      سلام خیلی منون از زحمات خوبتون
      سایتتون واقعا عالی حداقل برا من که اهل روستا هستم و نمیتونم جهت یاد گرفتن برنامه نویسی که عاشقشم به مراکز استان رفت آمد کنم. ولی خوب تو زمینه برنامه نویسی خیلی مشکل برام پیش میاد
      از جمله اینکه وقتی خواستم از تکنولوژی لینک استفاده کنم ، زمانی که خواستم پایگاه دادمو از اس کیو ال سرورم که نسخه ۲۰۰۸ هست رو add کنم این ارور رو داد:
      this server version is not supported. only up to Microsoft sql server 2005 are supported
      اینمبگم که نسخه ویژوال استودیو من هم ۲۰۰۸ هست و ابتدا اس کیو ال رو نصب کردم بعد ویژوال استودیورو نصب کردم. البته وقتی با استفاده از کد به بانکم وصل میشم هیچ موردی نداره و کلیه اطلاعاتم رو میتونم اضاقه حذف و ویرایش کنم با ADO.
      اگه لطف کنید و جواب سوالم رو به ایمیلم بفرستید ممنون میشم

    • thuram
      یکشنبه ۹ تیر ۱۳۹۲ - ۰۵:۲۱

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

    • mehdijj
      سه شنبه ۳۱ اردیبهشت ۱۳۹۲ - ۰۱:۱۷

      سلام و تشکر این ویدیو رو قبلا جایی دیده بودم
      یه انتقاد داشتم از سایتتون اونم اینه که کیفیت فیلمها تون رو خیلی کم میکنید که واقعا موقع پخش هیچی دیده نمیشه خواهش میکنم زیاد از کیفیت فیلم ها کم نکنید ممنونم

      • مدیر – پاسبان
        سه شنبه ۳۱ اردیبهشت ۱۳۹۲ - ۰۸:۵۱

        سلام
        این فیلم توسط دانشجوهای خودم در دانشگاه بیرجند آماده شده وهنوز زوی وب قرار نگرفته
        در مورد حجم و کیفیت فیلم ها مجبوریم این کار رو بکنیم چون یک قابل دانلود نخواهد بود و در ثانی ترافیک سایت …

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

    دسته بندی

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

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

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

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

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

    کلاس آنلاین

    مدرسین

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

      goldpack

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

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

    جدیدترین ها
    محبوب ترین ها
    بطور تصادفی
    دانشجویار نماد اعتماد الكترونیكی کسب و کار های اینترنتی مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت ساماندهی محتوای فضای مجازی بانک تجارت دانشجویار