2011-10-06 71 views

回答

11

正如Ladislav在他的回答中所述,您需要修改T4模板,以便將註釋包含在生成的代碼中。這個答案取自this article

首先,您需要在模型設計器的屬性框中指定您的註釋。在文檔 - >長描述和摘要下。

然後在模板中,可以例如添加此要記錄的屬性上面:

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

這將創建生成的代碼你的財產之上的摘要塊。

+0

看起來不錯!不知道你可以編輯EF用來生成代碼的模板。任何暗示在哪裏可以找到磁盤上的這些模板? – Michel

+0

我想我必須在每個開發人員機器上編輯模板?我無法告訴EF必須使用VS解決方案某處的模板? – Michel

+0

@Michel:如果右鍵單擊edmx的設計器表面,可以'添加代碼生成項目'。這個文件你可以修改你的需要。您還應該將該文件作爲項目的一部分放在源代碼管理中,以便可以重複使用。 –

3

不需要。您將不得不修改用於生成類的T4模板(或爲類生成創建新的自定義工具)以爲您提供這些註釋。

1

EF生成的類都是「部分」類。因此,定義一個具有相同類骨架結構的新文件,並定義對這些文件的評論。

例子:

的EF生成的類(Model.designer.cs):

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

自己的文件(ModelDocumentation.cs):

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