避免验证实体属性

时间:2012-06-12 12:34:27

标签: c# entity-framework-4 save sql-server-ce entity

这是我的一个Entityclasses:

public class Customer
{
    public int Id { get; set; }
    [Required]
    public int CustomerNumber { get; set; }
    [Required]
    [StringLength(50)]
    public string Prename { get; set; }
    [StringLength(50)]
    public string Surname { get; set; }
    public DateTime? Birthday { get; set; }
    public bool Active { get; set; }
    [Column(TypeName = "image")]
    public byte[] Image { get; set; }
}

添加对象后,我使用以下行保存更改:

((IObjectContextAdapter)context).ObjectContext.SaveChanges();

一切正常,我能够拯救顾客..

现在我必须将其更改为以下内容:

context.SaveChanges();

我发现,我之前的行没有验证,只有第二行验证,因为它继承自DbContext

现在我遇到的问题是我无法再保存客户了,原因是我在context.SaveChanges();行有例外。

EntityValidationError我发现以下错误: ErrorMessage =“字段图片必须是字符串或数组类型,最大长度为'4000'。” 我知道我的问题是,我怎样才能避免仅验证这一个实体..?我知道有可能避免验证整个实体,但这不是主意。我希望有人可以帮助我,我被困在这一个......

2 个答案:

答案 0 :(得分:1)

您可以使用CustomValidationAttributeHere就是一个例子。

你可以创建一个只返回成功的方法。

答案 1 :(得分:0)

您还可以通过将上下文中的ValidateOnSaveEnabled配置属性设置为false来禁用验证:

Context.Configuration.ValidateOnSaveEnabled = false;