我在MSDNs walkthrough.的帮助下创建了一个RIA服务解决方案。我有两个显示两个表数据的数据网格。一个数据网格显示材料,另一个数据网格显示组成部分(瑞典语中的分类)。但是我想组合这两个表,因为组件部件表中的组件部件ID也在材料表中表示。
如何在一个数据网格中组合两个表中的列并在Silverlight中使用join?
public partial class MainPage : UserControl
{
private DomainService1 _materialContext = new DomainService1();
private DomainService1 _sortimentContext = new DomainService1();
public MainPage()
{
InitializeComponent();
#region Material
EntityQuery<Material> query =
from c in _materialContext.GetMaterialQuery()
where c.tillverkningsorderID.Equals(1)
orderby c.materialID
select c;
//LoadOperation<Material> loadOp = this._materialContext.Load(this._materialContext.GetMaterialQuery());
LoadOperation<Material> loadOp = this._materialContext.Load(query);
myMaterialGrid.ItemsSource = loadOp.Entities;
#endregion
#region Sortiment
LoadOperation<Sortiment> loadOp_S = this._sortimentContext.Load(this._sortimentContext.GetSortimentQuery());
sortiment.ItemsSource = loadOp_S.Entities;
#endregion
}
编辑:这是一对多的关系
答案 0 :(得分:0)
Material
和Sortiment
之间是否存在一对一的关系?那么您是否希望Sortiment对象在材质表中的一行中包含所有额外的列?
如果是这样,最简单的方法可能是创建一个数据对象,它是这两个表的组合。如果您正在使用EntityFramework,则称为Entity Splitting,这意味着您的模型可以拥有一个名为any-like-like的新单个实体,它表示两个sql表的连接。