標準のXMLドキュメントでプロパティとクラスをコメントするためのhabbitがあります。EF生成クラスのプロパティ/フィールドにXMLドキュメント/コメントを追加します。
もちろん、EFで生成されたクラスでは、モデルを再生成するとこれらはすべて消えてしまいます。
これを行う別の方法はありますか?
標準のXMLドキュメントでプロパティとクラスをコメントするためのhabbitがあります。EF生成クラスのプロパティ/フィールドにXMLドキュメント/コメントを追加します。
もちろん、EFで生成されたクラスでは、モデルを再生成するとこれらはすべて消えてしまいます。
これを行う別の方法はありますか?
Ladislav氏の答えによれば、コメントが生成されたコードに含まれるように、T4テンプレートを変更する必要があります。この回答はthis articleから取られました。
まず、モデルデザイナーのプロパティボックスにコメントを指定する必要があります。 「Documentation」 - >「Long Description」および「Summary」の順に選択します。
次にテンプレートで、あなたはたとえば、ドキュメント化する性質上、これを追加することができます。
<#if (!ReferenceEquals(edmProperty.Documentation, null))
{
#>
/// <summary>
/// <#=edmProperty.Documentation.Summary#> – <#=edmProperty.Documentation.LongDescription#>
/// </summary>
<#}#>
これは、生成されたコードであなたの財産上記の概要ブロックを作成します。
いいえこれらのコメントを作成するには、クラスの生成に使用するT4テンプレートを変更するか、クラス生成のための新しいカスタムツールを作成する必要があります。
EF生成クラスはすべて「部分」クラスです。したがって、同じクラススケルトン構造を持つ新しいファイルを定義し、それらのコメントを定義します。
例:
EF生成されたクラス(Model.designer.cs):
public partial class Student : EntityObject {... // bunch of generated code}
独自のファイル(ModelDocumentation.cs):
/// <summary> Student documentation... </summary>
public partial class Student {}
は良いですね! EFがコードを生成するために使用するテンプレートを編集できるかどうかは分かりませんでした。ディスク上のそれらのテンプレートをどこで見つけるかについてのヒント? – Michel
そして、私はすべての開発者マシンでテンプレートを編集する必要があると思いますか? VSソリューションのどこかのテンプレートを使用する必要があるとEFに伝えることはできませんか? – Michel
@Michel:edmxのデザイナーの表面を右クリックすると、コード生成アイテムを追加できます。このファイルは、必要に応じて変更できます。また、このファイルをプロジェクトの一部としてソース管理下に置いて再利用できるようにする必要があります。 –