Asp.net mvc 3 在代码中访问DataAnnotationsAdditionalMetadata
我正在努力找到这个问题的简单答案,希望有人能帮我 我有一个系统首先使用MVC3代码和EF4.1 我有很多模型,我试图覆盖DbContext.SaveChanges以提供审计功能 某些高容量列应排除在审核之外 我希望我可以像这样使用AdditionalMetadata标签Asp.net mvc 3 在代码中访问DataAnnotationsAdditionalMetadata,asp.net-mvc-3,data-annotations,Asp.net Mvc 3,Data Annotations,我正在努力找到这个问题的简单答案,希望有人能帮我 我有一个系统首先使用MVC3代码和EF4.1 我有很多模型,我试图覆盖DbContext.SaveChanges以提供审计功能 某些高容量列应排除在审核之外 我希望我可以像这样使用AdditionalMetadata标签 public class User : IAuditable { [Key] public int UserID { get; set; } public string Name { get; set;
public class User : IAuditable
{
[Key]
public int UserID { get; set; }
public string Name { get; set; }
public string DisplayName { get; set; }
[AdditionalMetadata("IgnoreAudit", true)]
public DateTime? LastActive { get; set; }
}
然后在我的审计代码中使用类似于
bool AuditThis = ModelMetadata
.FromLambdaExpression(dbEntry.Property(propertyName), null)
.AdditionalValues("IgnoreAudit");
以确定是否记录更改
显然,这段代码失败了,因为它是从一个视图中获取(并更改了!)
我的问题是。模型元数据是否可以在ViewContext之外读取,或者我是否选错了树
感谢您花时间阅读。我在stackoverflow上找到了指针,但我需要稍微不同的指针
var metaData = ModelMetadataProviders
.Current.GetMetadataForProperty(null, objType, propertyName);