如何将AllowHtml属性与实体框架一起使用

时间:2013-07-31 07:36:40

标签: c# .net entity-framework

我如何将[AllowHtml]属性添加到实体框架生成的类中,而下次生成代码时不会覆盖该属性?

我希望简单地允许CKEditor使用Razor将信息发布回我的MVC4应用程序,而无需在我的[ValidateReuqest(false)]实体类上使用Content

2 个答案:

答案 0 :(得分:7)

您可以使用[MetadataType]属性永久地向您的类添加元数据/属性,而无需编辑原始类。

对于类Content,在项目中创建一个新的cs文件,并将空类替换为:

[MetadataType(typeof(ContentMetadata))]
public partial class Content
{

}

public class ContentMetadata
{
    [AllowHtml]
    public string ContentHtml { get; set; }
}

部分类名必须与实体类的类名完全匹配,并且该属性必须与实体类中属性的定义完全匹配。

重建之后,现在可以像将属性放在实体类中一样,但是每次都不会被覆盖。“

答案 1 :(得分:0)

将新的C#分部类文件添加到与实体类同名的模型文件夹中,并在其中应用该属性。 确保部分类的名称空间匹配,否则它们被视为不同的类。

您可以使用相同的分部类为其他属性设置其他属性,例如[Display(Name="xxx")]