asp.net mvc 2 Предварительный просмотр - шаблонные помощники linq to sql - PullRequest
2 голосов
/ 06 августа 2009

Я проверяю этих аккуратных шаблонных помощников, чьи выпуски были выпущены с последним предварительным просмотром ASP.NET MVC.

Я замечаю, что могу декорировать классы по мере необходимости, но я думаю, что с Linq 2 Sql будет немного запутанно, если мне придется заново генерировать классы при внесении изменений схемы.

Есть ли у кого-нибудь рекомендуемый подход к тому, как воспользоваться преимуществами помощников по шаблонам, но все же разрешить мне использовать Linq 2 Sql?

1 Ответ

4 голосов
/ 06 августа 2009

То, что вы ищете, это «Класс друзей». Скотт Гу упоминает об этом в своем посте для 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.

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