假设我有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')。
如何解决这个问题?
谢谢。好主意。会尝试。 – KentZhou 2011-03-17 17:08:01
它的工作。 Thanls。 – KentZhou 2011-03-31 17:06:13