درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من

    تا 75 درصد تخفیف ویژه شب یلدا بر روی کلیه محصولات وب سایت توسینسو فقط تا 30 آذر

    مانده تا پایان تخفیف ها

    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      حسین احمدی
      امتیاز: 212242
      رتبه:3
      342
      253
      403
      2719
      حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید

      ایجاد SP های CUD برای جداول بانک اطلاعاتی در Entity Framework

      تاریخ 14 ماه قبل
      نظرات 0
      بازدیدها 102
      در Entity Framework نسخه 6 قابلیتی وجود دارد که می توان برای Entity های مدل در بانک اطلاعاتی SP های مربوط به عملیا های Create و Update و Delete را ایجاد کرد. برای مثال، مدل زیر را در نظر بگیرید:

      public class Customer
      {
          public int Id { get; set; }
          public string FirstName { get; set; }
          public string LastName { get; set; }
      }
      
      public class SampleContext : DbContext
      {
          public DbSet<Customer> Customers { get; set; }
      }
      

      در حالت عادی، Entity Framework برای عملیات های CUD در بانک اطلاعاتی دستورات SQL را ایجاد کرده و اجرا می کند، برای ایجاد SP های مورد نظر کافیست در زمان نوشتن Map مربوط به یک Entity از متد MapToStoredProcedures به صورت زیر استفاده کنید:

      public class SampleContext : DbContext
      {
          public DbSet<Customer> Customers { get; set; }
      
          protected override void OnModelCreating(DbModelBuilder modelBuilder)
          {
              modelBuilder.Entity<Customer>().MapToStoredProcedures();
              base.OnModelCreating(modelBuilder);
          }
      }
      

      با نوشتن کد بالا و اجرای دستور زیر که بانک اطلاعاتی را ایجاد می کند، خواهیم دید که SP های مربوط به عملیات های درج، به روزرسانی و حذف ایجاد شده اند و EF برای عملیات های CUD از این SP ها استفاده می کند. برای شخصی سازی SP ها مانند تغییر نام یا تغییر نام پارامتر ها کافیست به صورت زیر عمل کنیم:

      public class SampleContext : DbContext
      {
          public DbSet<Customer> Customers { get; set; }
      
          protected override void OnModelCreating(DbModelBuilder modelBuilder)
          {
              modelBuilder.Entity<Customer>().MapToStoredProcedures(sp =>
              {
                  sp.Insert(map => map.HasName("Customer_Insert").Parameter(c => c.FirstName, "first_name").Parameter(c => c.LastName, "last_name");
                  sp.Update(map => map.HasName("Customer_Update"));
                  sp.Delete(map => map.HasName("Customer_Delete"));
              });
              base.OnModelCreating(modelBuilder);
          }
      }
      

      کد بالا عملیات Map را برای SP های مدل Customer انجام می دهد. اما فرض کنید که تعداد Entity های ما زیاد باشد، نوشتن Map به صورت بالا برای تک تک Entity ها زمان بر خواهد بود، برای این مشکل می توان عملیات ایجاد SP ها را به صورت گروهی برای کلیه Entity ها به صورت زیر انجام داد:

      public class SampleContext : DbContext
      {
          public DbSet<Customer> Customers { get; set; }
      
          protected override void OnModelCreating(DbModelBuilder modelBuilder)
          {
              modelBuilder.Types().Configure(t => t.MapToStoredProcedures());
              base.OnModelCreating(modelBuilder);
          }
      }
      

      کد بالا برای کلیه موجودیت ها در بانک اطلاعاتی SP های CUD را ایجاد می کند. نحوه Customize کردن SP ها هم به صورت زیر خواهد بود:

      public class SampleContext : DbContext
      {
          public DbSet<Customer> Customers { get; set; }
      
          protected override void OnModelCreating(DbModelBuilder modelBuilder)
          {
              modelBuilder.Types().Configure(t => t.MapToStoredProcedures(sp=>
              {
                  sp.Insert(map => map.HasName(t.ClrType.Name + "_Insert"));
                  sp.Update(map => map.HasName(t.ClrType.Name + "_Update"));
                  sp.Delete(map => map.HasName(t.ClrType.Name + "_Delete"));
              }));
              base.OnModelCreating(modelBuilder);
          }
      }
      

      دقت کنید که برای انتخاب نام SP از ClrType استفاده شده، این پارامتر یک شئ از نوع Type بر میگرداند که بوسیله آن می توان به نام کلاس Entity دسترسی داشت. با کد بالا برای کلیه موجودیت ها، SP ها ایجاد خواهد شد.

      نویسنده: حسین احمدی
      منبع: ITpro
      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

        برای ارسال نظر ابتدا به سایت وارد شوید