我想在实体类中添加一个验证类,以便在将其输入数据库之前检查其是否有效。(检查是为了业务需求而非数据库限制)。
我已经有这个类。
我已经有这个类。
public class MyEntity
{
private readonly IValidatorFactory _validatorFactory;
public MyEntity(IValidatorFactory validatorFactory)
{
_validatorFactory = validatorFactory;
}
//Entity Properties Removed For Clarity
public void Validate()
{
if(_validatorFactory == null)
{
throw new ArgumentNullException("Validator Factory was null, cannot validate this item");
}
var validator = _validatorFactory.GetValidator(this.ItemTypeId);
valid = validator.Validate();
}
}
使用依赖注入,我很难看到如何在项目中使用EF6时干净地解决依赖关系。如果我返回一个DbSet,它当然不知道验证器的要求。需要使用一个无参构造函数。