Как предотвратить дублирование записей в таблице с помощью Silverlight wcf ria services - PullRequest
0 голосов
/ 20 октября 2011

Я разрабатываю пример приложения, используя ссылку ниже.

http://code.msdn.microsoft.com/Getting-Started-WCF-RIA-1469cbe2.

Это бизнес-приложение Silverlight, использующее службы wcf ria, как указано в ссылке.

в примере, при добавлении нового сотрудника, если поле «Название» сотрудника является уникальным в базе данных, и пользователь пытается ввести повторяющийся заголовок, как я могу предотвратить это? Я имею в виду, если один вводит два одинаковых «заголовка», он должен проверяться правильно. Как я могу сделать это в текущем сценарии? я добавляю нового сотрудника, используя дочернее окно ...

Может ли кто-нибудь помочь?

1 Ответ

0 голосов
/ 25 октября 2011

Вы можете решить свою проблему, используя одну CustomValidation, и я думаю, что это лучший способ, поскольку вы можете загружать или не загружать все записи на стороне клиента, а в случае, если у вас загружены не все сотрудники, вам нужно перейти к БД, чтобы проверить, есть ли кто-то с заголовком, введенным ...

В основном это будет выглядеть так:

Сначала создайте класс, который будет отвечать за проверку сотрудников

public class EmployeeValidationRules
{
}

тогда метод, который фактически выполнит валидацию:

public static ValidationResult ValidateTitle(string title, ValidationContext context)
{
    AdventureWorks_DataEntities objectContext = new AdventureWorks_DataEntities();

    Employee employee = context.ObjectInstance as Employee ;
    if (objectContext.Emplyees.Any(e => e.Title == employee.Title))
    {
        return new ValidationResult("Title Allready Exists", new string[] { "Title" });
    }

    return ValidationResult.Success;
}

В метаданных, сгенерированных вашими службами домена в классе Employee, найдите свойство title, и вы должны добавить этот тег:

[CustomValidation(typeof(EmployeeValidationRules), "ValidateTitle")]     
public string Title{ get; set; } 

Примечание: все это должно быть сделано на стороне сервера ...

Более подробную информацию о валидации WCF вы можете найти здесь:

http://www.silverlightshow.net/items/WCF-RIA-Services-Part-6-Validating-Data.aspx

Вот еще одна очень хорошо написанная статья Джеффа Хэндли о валидации WCF:

http://jeffhandley.com/archive/2010/09/25/RiaServicesCustomValidationMethods.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...