WCF Ria Service: как изменить отношения? - PullRequest
0 голосов
/ 16 марта 2011

Предположим, у меня есть 3 таблицы:
Сотрудник (id1, ...)
Отдел (id2, ...)
EmployeeDepartment (id1, id2, datecreated, ...)

У меня есть следующий тип данных senario:

Сотрудник:
(1, 'BoB', ...)

Отдел:
(1, "HR")
(2, «Маркетинг»)
(3, «Развитие»)

EmployeeDepartment:
(1, 1, «2011-01-01»)

ВВ пользовательском интерфейсе для формы данных о сотрудниках есть поле со списком, позволяющее пользователю сменить отдел сотрудников.

Итак, теперь я хочу изменить этот отдел сотрудников на Маркетинг, что означает:
(1, 1, '2011-01-01 ') -> (1, 2,' 2011-01-01 ')

Логично, я должен обновить сущность EmployeeDepartment (1, 1,' 2011-01-01 ').
Если я использую следующий код:
EmployeeDepartment.id2 = 2;
тогда отправьте, я получу ошибку: не могу изменить ключ.

Затем попробуйте другой способ: удалить (1, 1,«2011-01-01»), а затем добавить (1, 2, «2011-01-01»):
EmployeeDepartments.Remove ((1, 1, «2011-01-01»));
EmployeeDepartments.Add (new (1, 2, '2011-01-01'));

, затем отправьте изменения. В базе данных у меня есть две записи в EmployeeDepartment:
(1, 1, '2011-01-01 ')
(1, 2,' 2011-01-01 ')

не один (1, 2,' 2011-01-01 ').

как решить эту проблему?

1 Ответ

0 голосов
/ 17 марта 2011

Как насчет предоставления EmployeeDepartment собственного ключа вместо составного, который он имеет в настоящее время, и отношения внешнего ключа с сотрудником и отделом по их соответствующим идентификаторам.

...