部分クラスを含む 2 つのファイルがあります。生成されたものと手動のもの。クラス メンバーの属性の 1 つを変更するために、コンパイル時に属性が適用される順序をオーバーライド、カスケード、または指定したいと考えています。
生成されたコード:
[Table("dbo.product_variation")]
public partial class ProductVariation
{
[Key]
[Column("id")]
public int Id { get; set; }
[Required]
[Column("style_id")]
public int StyleId { get; set; }
[Required]
[Column("name"), StringLength(400)]
public string Name { get; set; }
[Column("general_description"), StringLength(2048), UIHint("MultilineText")]
public string GeneralDescription { get; set; }
}
マニュアルコード:
[MetadataType(typeof(ProductsMetadata))]
public partial class ProductVariation
{
}
public partial class ProductsMetadata
{
[UIHint("RichText")]
public string GeneralDescription { get; set; }
}
ここでの本当の意図は、UIHint("MultilineText") を UIHint("RichText") でオーバーライドすることです。これは、ある開発マシンでは正常に機能し、別の開発マシンでは機能していないため、1) 特定の属性を 2 回指定するべきではない、または 2) 属性を上書きする順序を強制する方法がある可能性があります。ちゃんと。