• 1397/10/08

مشکل در استفاده از کلاس MetaData :

سلام
استاد من برای جدول Products  همونطور که فرموده بودین یک کلاس متادیتا ایجاد کرد و صفت های لازم رو بهش دادم و ویوی متناظر متناسب با صفات داده شده ساخته شد. ولی الان هنگامی که در صفت ها تغییری ایجاد میکنم ، تغییری در ویو ایجاد نمی شود، حتی با پاک کردن کلاس متادیتا باز هم ویوی مد نظر همانگونه و با Label  های کلاس  متا دیتا ساخته می شود.

  • 1397/10/08
  • ساعت 16:25

سلام 

با نمونه موجود بررسی کنید حتما اشتباهی کردید 

فضای نام باید یکی باشه 

 


  • 1397/10/08
  • ساعت 16:51

استاد با نمونه چک کردم. از این لحاظ مشکلی نداره.
اصن عجیب شده. حتی برای Create  مربوط به User  هم هنگامی که display name  رو تغییر میدم بازم تغییر نمیکنه

 


  • 1397/10/08
  • ساعت 16:56

نمیشه که خودش کار نکنه 

یه مشکلی داره 

کدهای مدل اصلی و متادیتا رو قرار دهید 


  • 1397/10/08
  • ساعت 17:28
کدهای مربوط به مدل اصلی:

namespace DataLayer
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;

    public partial class Products
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public Products()
        {
            this.ProductGallery = new HashSet<ProductGallery>();
            this.ProductGroups = new HashSet<ProductGroups>();
            this.ProductTags = new HashSet<ProductTags>();
        }
    
        public int ProductID { get; set; }
        public string ProductTitle { get; set; }

        public string Description { get; set; }


        public string Text { get; set; }
        public int Price { get; set; }
        public string ImageName { get; set; }
        public System.DateTime CreateDate { get; set; }
    
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<ProductGallery> ProductGallery { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<ProductGroups> ProductGroups { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<ProductTags> ProductTags { get; set; }
    }
}

................................................................................................
کدهای مربوط به کلاس متادیتا

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;

namespace DataLayer
{
    public class ProductMetaData
    {
        [Key]
        public int ProductID { get; set; }

        [Display(Name = "نام کالا")]
        [Required(ErrorMessage = "لطفا {0} را واراد کنید")]
        [MaxLength(100, ErrorMessage = "نام محصول نباید بیش از 150 کاراکتر باشد.")]
        public string ProductTitle { get; set; }

        [Display(Name = "شرح مختصر")]
        [Required(ErrorMessage = "لطفا {0} را واراد کنید")]
        [MaxLength(100, ErrorMessage = "شرح مختصر نباید بیش از 500 کاراکتر باشد.")]
        [DataType(DataType.MultilineText)]
        public string Description { get; set; }

        [Display(Name = "متن")]
        [Required(ErrorMessage = "لطفا {0} را واراد کنید")]
        [DataType(DataType.MultilineText)]
        public string Text { get; set; }

        [Display(Name = "قیمت")]
        [Required(ErrorMessage = "لطفا {0} را واراد کنید")]
        public int Price { get; set; }

        [Display(Name = "تصویر")]
        public string ImageName { get; set; }

        [Display(Name = "تاریخ ثبت")]
        [Required(ErrorMessage = "لطفا {0} را واراد کنید")]
        public System.DateTime CreateDate { get; set; }
    }

    [MetadataType(typeof(ProductMetaData))]
    public partial class Products
    {

    }
}

 


  • 1397/10/08
  • ساعت 19:22

استاد عزیز پس از چندین ساعت بررسی به این نتیجه رسیدم که هنگامی که با Ctrl+Shift+B  ، بیلد رو انجام میدادم،فرآیند به صورت کامل انجام نمیشده و با Rebuild  کردن توسط Rebuild Solution  در منوی بالایی مشکل حل شد.
به نظرتون مشکل ازvs ؟

 

 


  • 1397/10/08
  • ساعت 20:02

بعضی وقتها پیش میاد


logo-samandehi