Я не могу прикрепить метаданные к автогенерируемому классу в нашем приложении. Я тестировал установку атрибута Order в сгенерированном классе, и он работает нормально, но если попытаться использовать другой класс, я не могу получить атрибуты позже.DataAnnotations MetadataType не работает
Я также уже пробовал предлагаемое решение here без каких-либо успехов.
Сгенерированный класс
[Table(Name = "T_MKT_Product")]
public partial class T_MKT_Product : GlobalSist.DataAccess.Base.BaseEntity
{
[Column(Storage = "_code", DbType = "varchar(20)", IsUnique = true)]
public virtual string Code
{
get { return _code; }
set
{
if (_code != value)
{
OnPropertyChanging("Code");
_code = value;
OnPropertyChanged("Code");
}
}
}
[Column(Storage = "_name", DbType = "varchar(200)")]
public virtual string Name
{
get { return _name; }
set
{
if (_name != value)
{
OnPropertyChanging("Name");
_name = value;
OnPropertyChanged("Name");
}
}
}
[Column(Storage = "_description", DbType = "varchar(200)", CanBeNull = true)]
public virtual string Description
{
get { return _description; }
set
{
if (_description != value)
{
OnPropertyChanging("Description");
_description = value;
OnPropertyChanged("Description");
}
}
}
}
Тогда я определил следующие классы
[MetadataType(typeof(ProductMetaData))]
public partial class T_MKT_Product
{
}
public class ProductMetaData
{
[Display(Order = -1)]
public virtual string Code { get; set; }
[Display(Order = -2)]
public object Name { get; set; }
[Display(Order = -3)]
public object Description { get; set; }
}
Помощь! :)
У вас здесь слишком много сложностей. Упростите код, пока вы не сможете заставить этот атрибут работать, тогда вы найдете свою проблему. Создайте тот же класс без EF и с одним полем. – RickAndMSFT
проверить это, я уже ответил на этот вопрос здесь http://stackoverflow.com/a/24757520/3050647 – elia07