1

这是我的实体类之一:

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'。” 众所周知,我的问题是,我怎样才能避免仅验证这一实体..?我知道有可能避免验证整个实体,但这不是想法。我希望有人可以帮助我,我被困在这个..

4

2 回答 2

1

您可以使用CustomValidationAttribute是一个例子。

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

于 2012-06-12T18:40:08.023 回答
0

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

Context.Configuration.ValidateOnSaveEnabled = false;
于 2016-06-30T05:19:23.107 回答