Как сначала добавить отображаемое имя в унаследованное свойство с кодом EF? - PullRequest
3 голосов
/ 06 декабря 2011

У меня есть класс Movement, унаследованный от TimeBlock.TimeBlock предоставляется для меня, и я не могу его изменить.TimeBlock предоставляет свойство DurationDescription, и я хочу его отобразить.Однако я всегда использую LabelFor и т. Д., Что означает, что мне нужно иметь метаданные Display для DurationDescription, чтобы я мог иметь «Duration Desc»и т.д.

Как добавить метаданные в унаследованный класс с помощью EF Code First.Я должен использовать метаданные друзей?

1 Ответ

4 голосов
/ 06 декабря 2011

Да, вам нужно использовать MetadataTypeattribute .Он также будет хорошо работать с наследованием, как с частичными классами:

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; }
    }
}

В пользовательском интерфейсе свойства будут отображаться как "My prop 1" и "My prop 2".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...