2011-03-16 95 views
0

假设我有3个表:
员工(ID1,...)
部(ID2,...)
EmployeeDepartment(ID1,ID2,dateCreated会,...)WCF Ria服务:如何改变关系?

我有以下种数据塞纳里奥:

员工:
(1,'鲍勃,...)

部:
(1, 'HR')
(2, '市场营销')
(3, '发展')

EmployeeDepartment:
(1,1, '2011-01-01')

在UI为雇员数据形式,有一个组合框,以允许用户改变员工部门。

所以现在我想改变这个员工部门营销,这意味着:
(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(( ,'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')。

如何解决这个问题?

回答

0

如何让EmployeeDepartment自己的密钥,而不是合成的其目前拥有,并有各自的ID,以员工和部门外键关系。

+0

谢谢。好主意。会尝试。 – KentZhou 2011-03-17 17:08:01

+0

它的工作。 Thanls。 – KentZhou 2011-03-31 17:06:13