2014-04-29 3 views
0

Я создал решение для служб RIA с помощью MSDNs walkthrough. У меня есть два datagrids, которые показывают данные из двух таблиц. Один datagrid показывает материал, а другой - составные части (Sortiment in swedish). Но я хотел бы объединить эти две таблицы, так как идентификатор компонентов в таблице компонентов также представлен в таблице материалов.Как я могу объединить столбцы из двух таблиц в один datagrid и использовать соединение в Silverlight?

Как я могу объединить столбцы из двух таблиц в один datagrid и использовать соединение в Silverlight?

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 





    } 

EDIT: Это один ко многим-отношения

ответ

0

Есть ли связь один-к-одному между Material и Sortiment? Итак, вы хотите, чтобы объект Sortiment имел все дополнительные столбцы из одной строки в таблице материалов?

Если это так, возможно, самым простым способом является создание объекта данных, который представляет собой комбинацию этих двух таблиц. Если вы используете EntityFramework, это называется Entity Splitting и означает, что ваша модель может иметь новый единый объект, называемый any-you-like, который представляет объединение двух таблиц sql.

+0

Да, это отношения взаимно-однозначные. Легко ли иметь возможность редактировать и сохранять изменения в базе данных? Я мог бы использовать выпадающий список в datagrid. – DeveloperDahak

+0

Если вы используете EF для редактирования/сохранения, тогда да ... это так же просто, как раньше. Если вы сопоставляете функции с хранимыми процедурами, то, очевидно, вам придется вручную отсортировать их. Суть в том, что вместо того, чтобы иметь два типа сущностей («Материал» и «Сортировка»), ваша модель будет иметь один тип сущности («MaterialWithSortiment»), и поэтому все ваши операции с данными относятся к этому новому типу. Это * разбиение * сущности * на несколько таблиц. EF позаботится о том, чтобы обычный грубый материал, пока вы получаете правильное отображение в модели. – Mashton

+0

Нет сожаления. Это отношения «один ко многим»! – DeveloperDahak

 Смежные вопросы

  • Нет связанных вопросов^_^