我有一个简单的问题,我的表中有两个字段,我需要在存储之前检查它们是否存在于数据库中。 在我的模型中
[Required]
[Display(Name = "Contract Type")]
public int tb_contract_type_id { get; set; } //This is drop-down box
[Required]
[Display(Name = "Domain Name")]
public string domain_name { get; set; } //this is text-box
这两个属性我需要在数据库中检查它们是否存在,如果它们不存在,那么我们只需要允许用户添加数据,否则不会。
我已经为下面的一个字段做了这个,现在我想检查两个字段,比如 db.contracts.Any(c => c.domain_name == URL && tb_contract_type_id == id)
从模型
[CheckForDomain]
[Required]
[Display(Name = "Domain Name")]
public string domain_name { get; set; }
...
public class CheckForDomain : ValidationAttribute
{
private DataContext db = new DataContext();
protected override ValidationResult IsValid
(object value, ValidationContext validationContext)
{
var URL = value.ToString();
if (db.contracts.Any(c => c.domain_name == URL ))
{
return new ValidationResult("Domain Name already Exist!!");
}
else
{
return ValidationResult.Success;
}
}
}
有什么好方法可以使用自定义验证来检查吗?我正在使用实体框架请建议..