2

Entity Framework Power Tools Beta 2の「リバース エンジニア コード ファースト」機能は非常に優れており、リバース エンジニアリング テンプレートのカスタマイズに取り組んでいます。

Entity.tt で、次の行を見てください (改行が導入されています)。

<#= Accessibility.ForProperty(property) #> 
<#= code.Escape(property.TypeUsage) #> 
<#= code.Escape(property) #> 
{ get; set; }

日時型の「SomeDate」という名前のデータベース列の場合、次のコードが出力されます。

public Nullable<System.DateTime> SomeDate { get; set; }

代わりにこれを生成するために Entity.tt コードを変更するにはどうすればよいですか:

public DateTime? SomeDate { get; set; }

ありがとうございました、

R.

4

2 に答える 2

0

codeは、CodeGenerationToolsに含まれていますEF.Utility.CS.ttinclude

の動作を変更したい場合はEscape、そこで編集できます

于 2012-08-30T12:52:25.397 に答える
0

podiluska が述べたように、EF.Utility.CS.ttinclude を編集する必要があります (ここで「リバース エンジニアリング テンプレートのカスタマイズ」の手順に従うと、これが Entity.tt によってインポートされていることがわかります) 。

私のマシンでは、ここにあります:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes

127行目辺り、差し替え

return String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName);

return String.Format(CultureInfo.InvariantCulture, "{0}?", typeName);

これを必ずテストしてください。私にとっては問題なく動作しましたが、すべての null 許容型で動作することを保証することはできません。コメントをいただければ幸いです。必要に応じてこの投稿を編集します

于 2012-09-25T10:03:09.177 に答える