Entity framework 如何首先使用EF代码将显示名称添加到继承的属性?

Entity framework 如何首先使用EF代码将显示名称添加到继承的属性?,entity-framework,inheritance,ef-code-first,metadata,Entity Framework,Inheritance,Ef Code First,Metadata,我有一个从TimeBlock继承的类移动。计时器是为我提供的,我无法更改它。TimeBlock提供了DurationDescription属性,我想显示它。然而,我总是使用LabelFor等,这意味着我需要在DurationDescription上显示元数据,这样我就可以使用“Duration Desc”等 如何首先使用EF代码向继承的类添加元数据。我应该使用好友元数据吗?是的,您需要使用。它也可以很好地处理继承,就像处理分部类一样: public class Base { public

我有一个从TimeBlock继承的类移动。计时器是为我提供的,我无法更改它。TimeBlock提供了DurationDescription属性,我想显示它。然而,我总是使用LabelFor等,这意味着我需要在DurationDescription上显示元数据,这样我就可以使用“Duration Desc”等

如何首先使用EF代码向继承的类添加元数据。我应该使用好友元数据吗?

是的,您需要使用。它也可以很好地处理继承,就像处理分部类一样:

public class Base
{
    public string Prop1 { get; set; }
}

[MetadataType(typeof(ClassMetadata))]
public class Class : Base
{
    [DisplayName("My prop 2")]
    public string Prop2 { get; set; }

    class ClassMetadata
    {
        [DisplayName("My prop 1")]
        public string Prop1 { get; set; }
    }
}

在UI上,属性将显示为
“我的道具1”
“我的道具2”

很酷,我想我可以先用代码的其他方式来完成。我在普通EF中使用了元数据typeof。