Ho una tabella (tabella di collegamento) con 3 chiavi primarie così quando voglio controllare i record duplicati, devo controllare 3 proprietà insieme(Best Practice) FluentValidation e Controllo Enti duplicati
ho scritto un metodo come questo
private bool IsDuplicate(long roleId, long componentGroupId, long operationId)
{
var business = new RoleGroupBusiness();
var result = business.Where(x => x.RoleID == roleId && x.ComponentGroupID == componentGroupId && x.OperationID == operationId).Any();
return result;
}
e ho una classe FluentValidator come questo:
public class RoleGroupValidator : AbstractValidator<RoleGroup>
{
private bool IsDuplicate(long roleId, long componentGroupId, long operationId)
{
var business = new RoleGroupBusiness();
var result = business.Where(x => x.RoleID == roleId && x.ComponentGroupID == componentGroupId && x.OperationID == operationId).Any();
return result;
}
public RoleGroupValidator()
{
RuleFor(x => x.RoleID).NotNull().WithMessage("A");
RuleFor(x => x.ComponentGroupID).NotNull().WithMessage("A");
RuleFor(x => x.OperationID).NotNull().WithMessage("A");
}
}
1) Come posso usare methid IsDuplicate in FluentValidator?
o
2) Qual è il modo migliore per il controllo di entità è duplicato o non fluentValidation Library?
RuleFor solo io ottenere il valore di una delle proprietà, ma ho bisogno del valore di tutte le proprietà per il passaggio al mio metodo