2013-07-31 21 views
1

我將如何着手將[AllowHtml]屬性添加到實體框架生成的類中,而下次生成代碼時不會覆蓋該屬性?如何在實體框架中使用AllowHtml屬性

我正在尋找允許CKEditor使用Razor將信息發回我的MVC4應用程序,而不必在我的Content實體類上使用[ValidateReuqest(false)]

回答

5

您可以使用[MetadataType]屬性爲您的類永久添加元數據/屬性,而無需編輯原始類。

對於類Content在項目中創建一個新的CS文件,並替換空類:

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

} 

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

局部類的名稱必須與實體類的類名稱完全匹配,並且屬性必須匹配準確定義實體類中的屬性。

重建之後,現在就可以像在實體類中放置該屬性一樣工作,但可以增加每次都不會被覆蓋的好處。

0

將新的C#部分類文件添加到與您的實體類名稱相同的模型文件夾中,並在其中應用該屬性。 確保部分類的名稱空間匹配,否則它們將被視爲不同的類。

您可以使用相同的部分類爲其他屬性設置其他屬性,如[Display(Name="xxx")]