私はEntity Frameworkを使い始めており、2つのテーブル間の機能を理解する助けが必要です。まずはPhoneRecords
とPhoneModels
です。各PhoneRecord
にはPhoneModels
のいずれかに関連するPhoneModelId
というプロパティがあります。 MySQLでは、これらのプロパティは外部キーの関係として設定されています。MVVMエンティティフレームワークの外部キープロパティへのバインド
DataGrid
にPhoneRecords
のサンプルをロードしました。私はTextBox
を持っていて、そのモデルをPhoneRecord
に反映させたいと思っています。現時点では私のTextBox
はそうのようになります。
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding SelectedRecord.PhoneModelId}"/>
と、当然、Id
ではなくPhoneModel
のName
で表示されます。通常EntityFrameworkせずに私はちょうどPhoneRecord
自体のプロパティは、その方法は時代遅れであり、そのように私には思える
..私のSELECT
コマンドを書くとき、私はJOIN
を使用してになるだろうPhoneModelName
または類似した何かを呼ばなければなりませんEntity Frameworkは、長いCRUD操作を記述するための強力なツールです。しかし、PhoneRecord
のPhoneModelId
プロパティを使用するのではなく、MVVMでPhoneModel
という名前にバインドする方法がわかりません。私はあなたが(、まず、コードまず既存のデータベースなどとのコード最初のDB)を使用するか、どの味しているどのEFのバージョンはわからない
"{Binding SelectedRecord.PhoneModel.Name}"
:
あなたのモデルがデータベースを反映している場合、 'PhoneModel'と呼ばれる' PhoneRecord'に関連するプロパティを作成することができます。例えば 'var records = context.PhoneRecords.Include(" PhoneModel ")'あなたのバインディングでは{Binding SelectedRecord.PhoneModel.Name} ' – JobaDiniz