2017-08-04 13 views
0

私はEntity Frameworkを使い始めており、2つのテーブル間の機能を理解する助けが必要です。まずはPhoneRecordsPhoneModelsです。各PhoneRecordにはPhoneModelsのいずれかに関連するPhoneModelIdというプロパティがあります。 MySQLでは、これらのプロパティは外部キーの関係として設定されています。MVVMエンティティフレームワークの外部キープロパティへのバインド

DataGridPhoneRecordsのサンプルをロードしました。私はTextBoxを持っていて、そのモデルをPhoneRecordに反映させたいと思っています。現時点では私のTextBoxはそうのようになります。

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

と、当然、IdではなくPhoneModelNameで表示されます。通常EntityFrameworkせずに私はちょうどPhoneRecord自体のプロパティは、その方法は時代遅れであり、そのように私には思える

..私のSELECTコマンドを書くとき、私はJOINを使用してになるだろうPhoneModelNameまたは類似した何かを呼ばなければなりませんEntity Frameworkは、長いCRUD操作を記述するための強力なツールです。しかし、PhoneRecordPhoneModelIdプロパティを使用するのではなく、MVVMでPhoneModelという名前にバインドする方法がわかりません。私はあなたが(、まず、コードまず既存のデータベースなどとのコード最初のDB)を使用するか、どの味しているどのEFのバージョンはわからない

"{Binding SelectedRecord.PhoneModel.Name}" 

+0

あなたのモデルがデータベースを反映している場合、 'PhoneModel'と呼ばれる' PhoneRecord'に関連するプロパティを作成することができます。例えば 'var records = context.PhoneRecords.Include(" PhoneModel ")'あなたのバインディングでは{Binding SelectedRecord.PhoneModel.Name} ' – JobaDiniz

答えて

0

のようなものを試してみてください。 ..しかし...

外部キーの関係を持つオブジェクトがある場合、そのオブジェクトをその親または子にアタッチします。そのため、各PhoneRecordにはPhoneModelオブジェクトがアタッチされ、その逆もあります。コードを最初に使用している場合は、この関係をコーディングする必要があります.DBを使用している場合は、モデル(EDMX)にすでに存在するはずで、PhoneRecordからPhoneModelにナビゲートしてから再び。

関連する問題