استفاده از پراپرتی های محاسباتی در Entity Framework
1 0

استفاده از پراپرتی های محاسباتی در Entity Framework


استفاده از پراپرتی های محاسباتی در Entity Framework

در بسیاری از مواقع وقتی شما با Entity Framework در Asp.Net یا MVC کار می کنید، شما نیاز دارید تا محاسباتی روی اطلاعاتی که نمایش می دهید انجام دهید داشته باشید. برای مثال می خواهید تخفیف یک کالا را محاسبه کنید برای این کار روش های زیادی وجود. ولی یکی از روش های پر کاربردی که استفاده می شود، استفاده از پراپرتی محاسباتی داخل کلاس های Models یا ViewModels می باشد.

فرض کنید شما یک کلاسی به نام Product داخل Models به صورت زیردارید

public class Product
{
    public Product()
    {
    }

    [System.ComponentModel.DataAnnotations.Key]
    public int ProductId { get; set; }
    public string ProductName { get; set; }
    public int Price { get; set; }
    public byte DiscountPersent { get; set; }

    // این اتربیوت برای این است که این پراپرتی به فیلد در دیتابیس تبدیل نشود
    [System.ComponentModel.DataAnnotations.Schema.NotMapped]
    // پراپرتی های محاسباتی فقط گت دارند
    public int CalcDiscount
    {
        get
        {
            int newPrice = (Price - (Price * DiscountPersent / 100));
            return newPrice;

        }
    }
}

حال شما می خواهید تخفیف هر محصول را محاسبه کنید و قیمت نهایی را نمایش دهید برای این کار کافیست یک پراپرتی محاسباتی به نام CalcDiscount به صورت زیر بنویسید

// این اتربیوت برای این است که این پراپرتی به فیلد در دیتابیس تبدیل نشود
    [System.ComponentModel.DataAnnotations.Schema.NotMapped]
    // پراپرتی های محاسباتی فقط گت دارند
    public int CalcDiscount
    {
        get
        {
            int newPrice = (Price - (Price * DiscountPersent / 100));
            return newPrice;

        }
    }

پراپرتی فوق به دلیل داشتن اتربیوت NotMapped به یک فیلد در دیتابیس تبدیل نمی شود و شما فقط می توانید هنگام نمایش اطلاعات یک محصول یا محصولات از این پراپرتی ها استفاده کنید و تا دیگر نیازی به محاسبه این عمل در ویو و یا در جای دیگر نداشته باشید.

نکته مهم. پراپرتی های محاسباتی فقط بند Get دارند.

دانلود

نویسنده حسین فتحی
گروه مطلب Entity Framework
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۱ مهر ۱۳۹۵
منبع ایران گنج
تعداد نظرات ۲
قیمت کاربران مهمان
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

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

  • علی

    سلام . من در DataAnnotation ولی وقتی از [Display(Name = "نام و نام خانوادگی")] استفاده میکنم اعمال نمیشه مشکل از کجاست ؟

    پاسخ
    • حسین فتحی

      سلام

       اینتیتی فریم ورک رو یک بار حذف و دوباره نصب کنید یا اینکه آپدیتش کنید

      پاسخ