То, что вы ищете, это «Класс друзей». Скотт Гу упоминает об этом в своем посте для ASP.NET MVC 2 CTP 1, но не вдавается в подробности.
Во всяком случае, это мое понимание этого. Скажем, у вас есть таблица с именем Ninja (спасибо Phil Haack ! ;-) и у вас, очевидно, есть соответствующий класс linq to sql, который генерируется вместе со всеми другими классами linq to sql.
Теперь вам нужно создать собственный частичный класс с атрибутом MetadataType, например:
[MetadataType(typeof(Ninja_Metadata))]
public partial class Ninja
{
//Custom model stuff
}
Теперь вы создаете свой класс метаданных Buddy, где вы можете добавлять атрибуты к свойствам, сгенерированным конструктором linq to sql:
public class Ninja_Metadata
{
[DisplayName("Shurikens")]
public int ShurikenCount { get; set; }
[DisplayName("Blowgun Darts")]
public int BlowgunDartCount { get; set; }
}
Сладкий корм?
HTHS
Charles
Ps. Использование этих «классов приятелей» также отлично подходит для добавления поддержки атрибутов валидации DataAnnotation.