Добавить XML документацию / комментарии к свойствам / полям в сгенерированных EF классах - PullRequest
8 голосов
/ 06 октября 2011

У меня есть привычка комментировать свойства и классы в стандартной документации XML, что это значит / что они делают.

Но в EF-сгенерированных классах, конечно, они исчезли, когда я регенерировал модель.

Есть ли другой способ сделать это?

Ответы [ 3 ]

11 голосов
/ 18 октября 2011

Как сказал Ладислав в своем ответе, вам нужно изменить шаблон T4, чтобы комментарии были включены в сгенерированный код.Этот ответ был взят из этой статьи :

Прежде всего вам необходимо указать свои комментарии в полях свойств дизайнера модели.В разделе «Документация» -> «Подробное описание» и «Сводка».

Затем в шаблоне, например, вы можете добавить это свойство, которое хотите задокументировать, выше:

<#if (!ReferenceEquals(edmProperty.Documentation, null))
{
#>
/// <summary>
/// <#=edmProperty.Documentation.Summary#> – <#=edmProperty.Documentation.LongDescription#>
/// </summary>
<#}#>

Это создаст сводный блокнад вашей собственностью в сгенерированном коде.

3 голосов
/ 06 октября 2011

Нет.Вам нужно будет изменить шаблон T4, используемый для генерации классов (или создать новый пользовательский инструмент для генерации классов), чтобы сделать эти комментарии для вас.

1 голос
/ 21 октября 2011

Все сгенерированные EF классы являются "частичными" классами.Итак, определите новый файл с той же структурой скелета класса и определите свои комментарии к ним.

Пример:

Сгенерированный EF класс (Model.designer.cs):

public partial class Student : EntityObject {... // bunch of generated code}

Ваш собственный файл (ModelDocumentation.cs):

/// <summary> Student documentation... </summary>
public partial class Student {}
...