Bu geç bir cevap olabilir, ama aynı şey ararken ben bu soruyu bulundu:
aşağıdaki gibi özgün süper güç rehydrate AutoMapper kullanıyorsanız. Bunu vardı önce
: Bu benim özellikle durum çözüldü nasıl
public class ProductVm
{
//some other properties
[DisplayName("Product Category", e => e.Description)]
public Category Category {get; set;}
[DisplayName("Parent Category", e => e.Description)]
public Category ParentCategory {get; set;}
}
giremedim: Ben gibilerle bir şey olmasını istedik hangi için
public class ProductVm
{
//+ some other properties
public Category Category {get; set;}
public Category ParentCategory {get; set;}
}
Bu her ikisi de aynı nesne sınıfı olduğundan, modelin kendisi.
public class ProductVm
{
//some other properties
public Category Category {get; set;}
public Category ParentCategory {get; set;}
[DisplayName("Product Category")]
public string Category => Category.Description;
[DisplayName("Main Category")]
public string ParentCategory => ParentCategory.Description;
}
Mümkün sadece biraz daha Kalan özel destek tutmak için yazabilirsiniz:
I (Ben sadece bu durumda Açıklaması değerini okumak ve yazmak değil gerekiyordu beri) şöyle çözüldü Alanlar ve Kategori nesnelerin özellik kapsülleme kaldırmak, ancak benim durumumda hala diğer kullanımlar için halka açık olması gerekiyordu.
aşağıdaki yapacağını yukarıdaki soruyu Dair:
public class UnicornViewModel
{
[Required]
public string Name { get; set; }
public SuperPower PrimarySuperPower { get; set; }
public SuperPower SecondarySuperPower { get; set; }
[Required]
public string PrimarySuperPowerName
{
get { return PrimarySuperPower.Name; }
set { PrimarySuperPower.Name = value; }
}
public string SecondarySuperPowerName
{
get { return SecondarySuperPower.Name; }
set { SecondarySuperPower.Name = value; }
}
}
Sonra SuperPower özelliklerini dize özelliklerine benim Görünüm bağlamak ve dışlamak istiyorum.
Nitelik ne eklendiğini nereden öğrenecek? Özellikler sadece meta verilerdir. – Romoku