Техника класса приятелей не является чем-то особенным для DataAnnotations. Однако это работает только в том случае, если используемый вами код отражения делает что-то с атрибутом MetadataType
. Итак, ASP.NET MVC является примером кодовой базы, которая обрабатывает концепцию класса друзей, а Linq-to-sql - нет. Итак, в данный момент вы застряли, если хотите использовать классы друзей для добавления ColumnAttribute
. Однако, если вам действительно нужно стать фантазером, Linq-to-SQL возьмет XML-документ с сопоставлениями вместо использования атрибутов. Вы можете использовать это для построения ваших отображений в качестве альтернативы для случаев, когда вы могли использовать класс друзей.
Если вам нужно по-настоящему, по-настоящему придумать, сделайте свой класс приятелей, а затем напишите свой собственный обработчик отражения с учетом классов собеседников для ваших украшенных атрибутов классов Linq и создайте из них документы сопоставления XML для ваших нужд DataContext. Вы могли бы сделать это менее чем за 50 строк кода.