C# 向EF生成的类中的属性/字段添加XML文档/注释
我有使用标准XML文档注释属性和类的习惯,这意味着什么/它们做什么 但是在EF生成的类中,当我重新生成模型时,这些类都消失了C# 向EF生成的类中的属性/字段添加XML文档/注释,c#,entity-framework,documentation,C#,Entity Framework,Documentation,我有使用标准XML文档注释属性和类的习惯,这意味着什么/它们做什么 但是在EF生成的类中,当我重新生成模型时,这些类都消失了 是否有其他方法可以做到这一点?否。您必须修改用于生成类的T4模板(或创建用于生成类的新自定义工具),以便为您提供这些注释 正如拉迪斯拉夫在回答中所说,您需要修改T4模板,以便在生成的代码中包含注释。这个答案来自: 首先,需要在模型设计器的“属性”框中指定注释。在文档->详细说明和摘要下 然后在模板中,您可以在要记录的属性上方添加以下内容: <#if (!Refere
是否有其他方法可以做到这一点?否。您必须修改用于生成类的T4模板(或创建用于生成类的新自定义工具),以便为您提供这些注释 正如拉迪斯拉夫在回答中所说,您需要修改T4模板,以便在生成的代码中包含注释。这个答案来自: 首先,需要在模型设计器的“属性”框中指定注释。在文档->详细说明和摘要下 然后在模板中,您可以在要记录的属性上方添加以下内容:
<#if (!ReferenceEquals(edmProperty.Documentation, null))
{
#>
/// <summary>
/// <#=edmProperty.Documentation.Summary#> – <#=edmProperty.Documentation.LongDescription#>
/// </summary>
<#}#>
///
/// –
///
这将在生成的代码中的属性上方创建一个摘要块。EF生成的类都是“部分”类。因此,定义一个具有相同类骨架结构的新文件,并定义对这些文件的注释 例如: EF生成的类(Model.designer.cs): 您自己的文件(ModelDocumentation.cs):
///学生文档。。。
公立部分班学生{}
这是一个非常古老的线程,但目前还不清楚t4中该代码的插入位置。截至撰写本文时,t4的版本如下。这也会将LongDescription放在备注部分(如果存在)
之前的代码:
<#
}
var simpleProperties = typeMapper.GetSimpleProperties(entity);
if (simpleProperties.Any())
{
foreach (var edmProperty in simpleProperties)
{
#>
<#=codeStringGenerator.Property(edmProperty)#>
插入的代码:
<#
if (!ReferenceEquals(edmProperty.Documentation, null))
{
#>
/// <summary>
/// <#=edmProperty.Documentation.Summary#>
/// </summary>
<# if (edmProperty.Documentation.LongDescription.Length > 0)
{#>
/// <remarks>
/// <#=edmProperty.Documentation.LongDescription#>
/// </remarks>
<# }
}#>
///
///
///
0)
{#>
///
///
///
后续代码:
<#
}
var simpleProperties = typeMapper.GetSimpleProperties(entity);
if (simpleProperties.Any())
{
foreach (var edmProperty in simpleProperties)
{
#>
<#=codeStringGenerator.Property(edmProperty)#>
看起来不错!不知道你可以编辑EF用来生成代码的模板。有没有关于在磁盘上哪里可以找到这些模板的提示?我想我必须在每台开发人员机器上编辑这些模板?我可能无法告诉EF必须使用VS解决方案中的某个模板?@Michel:如果你右键单击在edmx中,您可以“添加代码生成项”。您可以根据需要修改此文件。您还应将此文件作为项目的一部分置于源代码管理下,以便可以重用。