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);

确保您对此进行测试。它对我来说很好,但我不能保证它适用于所有可为空的类型。任何评论将不胜感激,我将酌情编辑这篇文章

于 2012-09-25T10:03:09.177 回答