微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight 4实体框架将DataGridColumn绑定到Navigation属性

如何解决Silverlight 4实体框架将DataGridColumn绑定到Navigation属性

|| 我正在使用EF4,并且在我的域模型中有一个称为“应用程序”的实体。应用程序具有一个名为Status的导航属性。状态实体包含2个字段,即StatusID和StatusName。 我正在显示一个DataGrid,其中显示了Applications的详细信息。我已经用[Include]属性修饰了应用程序元数据,并且还修改了GetApplicationsQuery使其具有.Include(\“ status \”)语句。使用Linq查询代码中设置网格的ItemsSource。 如果将DataGrid上的AutoGenerateColumns设置为true,则status列指示存在状态对象,因此Includes正常工作。 我现在想将AutoGenerateColumns设置为false并手动构建datagrid(仅显示几列),但是我找不到如何将StatusName字段(属于状态导航属性)绑定到其中一列。下面的代码显然无法正常工作,因为我将Status列有效地绑定到对象,但是绑定到导航属性上的字段的正确方法是什么?
<telerik:GridViewDataColumn Header=\"App Name\" DataMemberBinding=\"{Binding AppName}\"/>
<telerik:GridViewDataColumn Header=\"Commentary\" DataMemberBinding=\"{Binding Commentary}\"/>
<telerik:GridViewDataColumn Header=\"Status\" DataMemberBinding=\"{Binding **status**}\"/>
我已经尝试绑定到status.StatusName,但现在只是猜测。任何帮助,将不胜感激。 谢谢 中号     

解决方法

        找到了问题。 我没有使用在DomainService中定义的查询(在本例中为GetApplicationsQuery),而是使用了Linq查询(来自ctx.applications中的..........)。 生成的GetApplicationsQuery添加了.Include(\“ status \”)语句,但是我的手动Linq查询没有。 我将DataGrid ItemsSource设置为使用GetApplicationsQuery()。Where(a => ....),然后可以使用2个零件名称status.StatusName访问导航属性。 中号     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。