سلام
استاد من برای جدول Products همونطور که فرموده بودین یک کلاس متادیتا ایجاد کرد و صفت های لازم رو بهش دادم و ویوی متناظر متناسب با صفات داده شده ساخته شد. ولی الان هنگامی که در صفت ها تغییری ایجاد میکنم ، تغییری در ویو ایجاد نمی شود، حتی با پاک کردن کلاس متادیتا باز هم ویوی مد نظر همانگونه و با Label های کلاس متا دیتا ساخته می شود.
سلام
با نمونه موجود بررسی کنید حتما اشتباهی کردید
فضای نام باید یکی باشه
استاد با نمونه چک کردم. از این لحاظ مشکلی نداره.
اصن عجیب شده. حتی برای Create مربوط به User هم هنگامی که display name رو تغییر میدم بازم تغییر نمیکنه
نمیشه که خودش کار نکنه
یه مشکلی داره
کدهای مدل اصلی و متادیتا رو قرار دهید
کدهای مربوط به مدل اصلی:
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
{
}
}
استاد عزیز پس از چندین ساعت بررسی به این نتیجه رسیدم که هنگامی که با Ctrl+Shift+B ، بیلد رو انجام میدادم،فرآیند به صورت کامل انجام نمیشده و با Rebuild کردن توسط Rebuild Solution در منوی بالایی مشکل حل شد.
به نظرتون مشکل ازvs ؟
بعضی وقتها پیش میاد