2014-09-21 116 views
1

這將是我第一個使用MVVM和EF的項目.. 我已經看到了一些答案,但它仍然不清楚。將外鍵綁定到Datagrid(WPF/EF)

我從數據庫生成EF模型。在這個數據庫:

1)屬性表船員RankId爲外鍵表排名

2)表中排名

在我CrewListView是填充列表

我怎樣才能得到一個DataGrid這個數據網格中Rank的名字而不是Id?

查看:

  <--This does (offcourse) not work --> 
      <DataGridTextColumn Header="Rank" Binding="{Binding RankName}" /> 
     </DataGrid.Columns> 
    </DataGrid> 

視圖模型: 私人的IList _crew;

public IList<Crew> AllCrew 
    { 
     get 
     { 
      if (_crew == null) 
      { 
       GetCrew(); 
      } 
      return _crew; 
     } 
    } 

    private void GetCrew() 
    { 
     using (var crewrepo = new CrewRepository()) 
     { 
      _crew = crewrepo.GetAll(); 
     } 
    } 
+0

請分享一些相關的代碼。例如。什麼是綁定到數據網格,什麼是可用的屬性等。 – pushpraj 2014-09-21 02:13:23

+0

船員和等級是POCO的 – 2014-09-21 02:20:15

+0

您的船員類別是否有Rank類型的導航屬性?如果沒有,我建議你加一個。然後,您可以使用.Include擴展方法通過外鍵加載與Crew對象關聯的Rank對象,並使用Binding =「{Binding Rank.RankName}」綁定到該名稱。 – 2014-09-21 04:33:28

回答

0

.INCLUDE的伎倆

使用System.Data.Entity的

CrewRepository dbSet.Include( 「等級」);

查看:

+0

此鏈接很有用:https://msdn.microsoft.com/en-us/data/jj574232.aspx – EdgarT 2015-09-26 23:23:40