【问题标题】:How do i use the AllowHtml attribute with the entity framework如何在实体框架中使用 AllowHtml 属性
【发布时间】:2017-03-03 06:11:42
【问题描述】:

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

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

【问题讨论】:

    标签: c# .net entity-framework


    【解决方案1】:

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

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

    [MetadataType(typeof(ContentMetadata))]
    public partial class Content
    {
    
    }
    
    public class ContentMetadata
    {
        [AllowHtml]
        public string ContentHtml { get; set; }
    }
    

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

    重建后,现在就像您将属性放在实体类中一样工作,但额外的好处是不会每次都被覆盖。

    【讨论】:

    • 我也有同样的问题,我通过 [MetadataType] 解决了。谢谢。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多