簡體   English   中英

MVVM綁定到實體框架中的外鍵屬性

[英]MVVM Binding to Foreign Key Property in Entity Framework

我現在開始使用實體框架,需要一些幫助來理解兩個表之間的功能。 首先,我有PhoneRecordsPhoneModels 每個PhoneRecord都有一個名為PhoneModelId的屬性,該屬性與PhoneModels之一PhoneModels 在MySQL中,這些屬性被設置為外鍵關系。

現在,我已經將PhoneRecords的示例加載到DataGrid 我有一個TextBox ,我想在PhoneRecord上反映模型。 目前,我的TextBox如下所示:

<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding SelectedRecord.PhoneModelId}"/>

毫不奇怪,將顯示Id而不是PhoneModelName 通常沒有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM