У меня есть два класса: Factor
и FactorItems
. У меня также есть три окна: Win1
, Win2
, WinRead
. Win1
содержит сетку данных с именем grd1
; Win2
содержит сетку данных с именем grdItems
, а WinRead
содержит сетку данных с именем grdRead
.
Существует внешний ключ от Factor
на FactorItems
.
Я использовал метод SaveChanges()
и вставил данные в обе таблицы из Win2
grdItems
. Кроме того, я могу читать и показывать Factor's
записей таблицы в grd1
, и все правильно.
Теперь я хочу, чтобы при нажатии (я использовал DataGridCellChanges
) на строку grd1
(например, с Id == 50
), он должен загрузить WinRead
и показать все FactorItems
с их внешним ключом, который был Factor_Id 50
on WinRead_Load
grdRead.
Фактор
public class Factor
{
public Factor()
{
this.BuyList = new List<FactorItems>();
}
public Int64 Id { get; set; }
public virtual ICollection<FactorItems> BuyList { get; set; }
}
FactorItems
public class FactorItems
{
public Int64 Id { get; set; }
public string ProductName `enter code here`{ get; set; }
public int NumberInBox { get; set; }
public decimal TotalNumber { get; set; }
public virtual Factor Factors{ get; set; }
}
Win1
private void grd1_SelectedCellsChanged(objectsender,SelectedCellsChangedEventArgs e)
{
WinRead wread = new WinRead
if (grd1.SelectedItems.Count > 0)
{
wread.ShowDialog();
}
}
WinRead
private void grdRead_Loaded(object sender, RoutedEventArgs e)
{
using (var ctx = new EntContext())
{
//What do I write here?
}
}