我有習慣用標準XML文檔評論屬性和類,它是什麼意思/他們做什麼。在EF生成的類中爲屬性/字段添加XML文檔/註釋
但是在EF生成的課程中,當我重新生成模型時,這些都消失了。
是否有另一種方法可以做到這一點?
我有習慣用標準XML文檔評論屬性和類,它是什麼意思/他們做什麼。在EF生成的類中爲屬性/字段添加XML文檔/註釋
但是在EF生成的課程中,當我重新生成模型時,這些都消失了。
是否有另一種方法可以做到這一點?
正如Ladislav在他的回答中所述,您需要修改T4模板,以便將註釋包含在生成的代碼中。這個答案取自this article:
首先,您需要在模型設計器的屬性框中指定您的註釋。在文檔 - >長描述和摘要下。
然後在模板中,可以例如添加此要記錄的屬性上面:
<#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
我想我必須在每個開發人員機器上編輯模板?我無法告訴EF必須使用VS解決方案某處的模板? – Michel
@Michel:如果右鍵單擊edmx的設計器表面,可以'添加代碼生成項目'。這個文件你可以修改你的需要。您還應該將該文件作爲項目的一部分放在源代碼管理中,以便可以重複使用。 –