My project is divided in Controller, Models, Services, Parameters and Views.
I don't use EF.
I try use this code for validate Unique Key Constraint, but for the EF.
public static ValidationResult IsUserNameUnique(object username, ValidationContext context)
{
ADMINEntities x = new ADMINEntities();
var users = from u in x.Users
select u;
foreach (var item in users)
{
if (item.Username == username.ToString())
{
return new ValidationResult("Username is already choosen, please choose another one.");
}
}
return ValidationResult.Success;
}
how to i change the code to suit fluent?
No have edmx.
No have Context.
I assume, that you want to remove the foreach
loop and have a more succinct code. An equivalent, but shorter query could be written using the FirstOrDefault extension:
var x = new ADMINEntities();
var usersExists = x.Users.FirstOrDefault(u => u.Username == username.ToString());
return usersExists != null
? new ValidationResult("Username is already choosen, please choose another one.")
: ValidationResult.Success;