积极答复者
如何使用多个关联的DomainDataContext,在编辑,删除,新增时都能用到.

问题
答案
-
我刚试了一下,是可以的。
你指的编辑窗口是什么?我直接在DataGrid里编辑就可以的。
你单击更新的时候,可以通过查看一下domainContext.Entities.GetChanges();看看是否有更新。
如果你多贴些code或许可以研究一下。或者给我发过来,我看一下。
昨天测试了一下,原来是Load方法的赋值字段有问题,导致更新的时候,出现.行已不存在或已更改,经修改后,就可以正常关联更新了.
大家看看,是不是Silverlight3 beta的BUG.测试了好几次,都是这样的情况.
http://social.microsoft.com/Forums/zh-CN/silverlightzhchs/thread/a34fca42-44de-4125-a19d-6a6a3581aaf3
这个问题,不知道楼上的朋友,有没有遇到过.
aaaa- 已标记为答案 Allen Chen - MSFT 2009年6月15日 2:58
2009年6月10日 1:13
全部回复
-
可以通过在Server端添加[External] [Association] 指定 关联
在Client端使用DomainContext.AddReference() 关联。
这些关联,我加了,但绑定到DataGird时,关联的实体,数据都显示不出来.
比如:
<data:DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="100"></data:DataGridTextColumn>
<data:DataGridTextColumn Header="单位" Binding="{Binding Company.CompanyName}"></data:DataGridTextColumn>
那个单位这一列,就没有数据显示,我这是这样关联的
在人员信息实体中,有如下代码
//公司信息
[External]
[Association("Company", "CompanyId", "CompanyId", IsForeignKey=true)]
public Company Company { get; set; }
aaaa2009年6月9日 1:35 -
我用的是LinqToSql,刚刚测试加External属性,可以关联取数据了,绑定datagrid后,编辑的窗口输入关联数据的字段更新,在datagrid中能反应出来,但不能更新到数据库,但主表是可以更新的.比如:
姓名:张三
公司名称:ABC
我在编辑窗口把姓名改成:李四,公司名称改成:中国
点更新后,方法PersonalDataSource.SubmitChanges();
主表的姓名更新成功,但关联表的公司名称即还是ABC.也就是更新不成功
我用以下的方法也不行,就是执行两个context的SubmitChanges.
companyContext.SubmitChanges();
personalContext.SubmitChanges();
不知道什么原因.
aaaa2009年6月9日 2:34 -
我刚试了一下,是可以的。
你指的编辑窗口是什么?我直接在DataGrid里编辑就可以的。
你单击更新的时候,可以通过查看一下domainContext.Entities.GetChanges();看看是否有更新。
如果你多贴些code或许可以研究一下。或者给我发过来,我看一下。
昨天测试了一下,原来是Load方法的赋值字段有问题,导致更新的时候,出现.行已不存在或已更改,经修改后,就可以正常关联更新了.
大家看看,是不是Silverlight3 beta的BUG.测试了好几次,都是这样的情况.
http://social.microsoft.com/Forums/zh-CN/silverlightzhchs/thread/a34fca42-44de-4125-a19d-6a6a3581aaf3
这个问题,不知道楼上的朋友,有没有遇到过.
aaaa- 已标记为答案 Allen Chen - MSFT 2009年6月15日 2:58
2009年6月10日 1:13