Почему классы, созданные EF Power Tools, не являются частичными?

Я использую код Reverse Engineered Code First и вижу такие заглушки:

public class User
{
    public User()
    {
        this.Addresses = new List<Address>();
        ...
    }

    public int ID { get; set; }
...
}

Когда на основе этот вопрос, я ожидаю увидеть частичные классы.

Разве это не изменит предпочтительный способ расширения сгенерированных классов с помощью моего собственного кода (который, кстати, очень хорошо изложен в связанном ответе)?

Спасибо


person justSteve    schedule 03.08.2012    source источник


Ответы (2)


Нашей целью было сгенерировать максимально простые классы, максимально приближенные к тому, что вы написали бы от руки. Нет проблем изменить их на частичные — именно по этой причине мы сделали генерацию настраиваемой.

~ Роуэн

person Rowan Miller    schedule 15.08.2012
comment
Роуэн, можно ли запросить расширенные свойства из SQL Server? Я хотел бы украсить классы как /// /// ‹summary› /// Описание из расширенных свойств SQL Server /// ‹/summary› public string Example { get; задавать; } Спасибо. - person Steve; 10.11.2012

Существует способ настроить вывод объектов сущности, изменив файлы TT.

У Роуэна Миллера есть отличный пост в блоге о том, как это сделать.

В вашем примере вы можете обновить файл Entity.TT, который находится в шаблоне.

Из этого:

public class <#= efHost.EntityType.Name #>

К этому:

public partial class <#= efHost.EntityType.Name #>

и он создаст частичные классы, которые вы ищете.

person Mark Oreta    schedule 03.08.2012
comment
Я понимаю общую теорию использования TT, но хочу понять, что выглядит как сознательный выбор людей, стоящих за Power Tools, чтобы не быть пристрастным. - person justSteve; 03.08.2012