如何为EF生成的实体类中的每个虚拟属性添加过滤器属性?

时间:2012-11-28 03:54:22

标签: asp.net .net asp.net-mvc entity-framework entity-framework-5

我想为Entity Framework自动生成的实体类中的每个虚拟属性添加一个filter属性,我该怎么做?

1 个答案:

答案 0 :(得分:1)

假设您正在使用DatabaseFirst,您的项目中应该有一个Model.tt文件,用于自动生成实体类。 在Model.tt内部有一个实际生成属性的WriteProperty函数,您可以在那里添加属性。它看起来像这样:

void WriteProperty(string accessibility, string type, string name, string getterAccessibility, string setterAccessibility)
{
#>
    [YourCustomFilterAttribute]
    <#=accessibility#> <#=type#> <#=name#> { <#=getterAccessibility#>get; <#=setterAccessibility#>set; }
<#+
}

如果您需要有条件地应用该属性,您当然可以使用typename和其他参数进行播放。