[英]MVVM Binding to Foreign Key Property in Entity Framework
我現在開始使用實體框架,需要一些幫助來理解兩個表之間的功能。 首先,我有PhoneRecords
和PhoneModels
。 每個PhoneRecord
都有一個名為PhoneModelId
的屬性,該屬性與PhoneModels
之一PhoneModels
。 在MySQL中,這些屬性被設置為外鍵關系。
現在,我已經將PhoneRecords
的示例加載到DataGrid
。 我有一個TextBox
,我想在PhoneRecord
上反映模型。 目前,我的TextBox
如下所示:
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding SelectedRecord.PhoneModelId}"/>
毫不奇怪,將顯示Id
而不是PhoneModel
的Name
。 通常沒有EntityFramework,我只會在PhoneRecord
本身上擁有一個名為PhoneModelName
的屬性,或者在寫出SELECT
命令時使用JOIN
獲得的類似屬性。
在我看來,該方法是過時的,而Entity Framework是一種用於編寫較長的CRUD操作的強大工具。 但是,我被困在如何將MVVM中綁定到PhoneModel
名稱上,而不是使用PhoneModelId
上的PhoneRecord
屬性上。
嘗試類似:
"{Binding SelectedRecord.PhoneModel.Name}"
我不確定您使用的是哪個版本的EF或哪種風格(代碼優先,數據庫優先,現有數據庫的代碼優先等)...但是...
在EF中,如果您有一個具有外鍵關系的對象,它將將該對象附加到其父項或子項。 因此,每個PhoneRecord都將附加一個PhoneModel對象,反之亦然。 如果您首先使用代碼,則必須編寫此關系的代碼,如果您首先使用數據庫,則它應該已經存在於模型(EDMX)中,並且您應該能夠從PhoneRecord導航到PhoneModel並再次返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.