Data binding 在silverlight 4的ria服务中将父数据和子数据绑定到DataGrid中
我已经开始学习Silverlight 4 RIA服务。我已经看过很多关于如何将数据绑定到网格的示例。但被绑定的对象总是一个没有子表的简单对象 在我的数据库中,有一个员工表和一个id字段为pk的城市名称表。在employee表中,CityId字段有一个FK 我尝试做的第一件事是显示员工名单和他们所在城市的名字。 我已经按照所有教程创建edmx、创建域服务和使用datasource窗口创建datagrid中所示的正常方式完成了这项工作 当我尝试在员工父实体和citytypes子实体之间绑定城市名称时,问题就开始了 这条线很好用: 该行不: 在阅读了更多内容后,我意识到域服务不仅传递LINQ命令选择的实体的数据,而且不传递子实体信息。 除非使用include属性 所以我的问题是,是否有一种模式可以在构建silverlight应用程序时不签署所包含的实体之间的所有关联 谢谢,Data binding 在silverlight 4的ria服务中将父数据和子数据绑定到DataGrid中,data-binding,silverlight-4.0,service,ria,Data Binding,Silverlight 4.0,Service,Ria,我已经开始学习Silverlight 4 RIA服务。我已经看过很多关于如何将数据绑定到网格的示例。但被绑定的对象总是一个没有子表的简单对象 在我的数据库中,有一个员工表和一个id字段为pk的城市名称表。在employee表中,CityId字段有一个FK 我尝试做的第一件事是显示员工名单和他们所在城市的名字。 我已经按照所有教程创建edmx、创建域服务和使用datasource窗口创建datagrid中所示的正常方式完成了这项工作 当我尝试在员工父实体和citytypes子实体之间绑定城市名称时
Oren要在绑定员工记录时提供城市信息,您需要确保在RIA域服务元数据中使用[Include]属性标记城市引用
[MetadataTypeAttribute(typeof(MyTestObject.MyTestObject_Metadata))]
public partial class MyTestObject
{
internal sealed class MyTestObject_Metadata
{
// Metadata classes are not meant to be instantiated.
private MyTestObject_Metadata()
{ }
[Include]
public AnotherObject Foo { get; set; }
}
}
您还需要在查询中包含引用
var results = this.ObjectContext.MyTestObject.Include(Foo);
希望这有帮助