ViewModel.AddNewMovie() で選択した言語の ID を取得するにはどうすればよいですか? これは私の最初の試みです。これはインデックスであり、ID ではないため、問題があります。
意見:
...
<ComboBox ItemsSource="{Binding LanguagesCollection}"
SelectedIndex="{Binding NewMovieLanguage}"
DisplayMemberPath="L_Name" SelectedValuePath="L_Id"/>
...
ビューモデル:
...
public ObservableCollection<Languages> LanguagesCollection { get; private set; }
public ObservableCollection<Movies> MoviesCollection{ get; private set; }
...
_Entities = new MyAppEntities();
LanguagesCollection = new ObservableCollection<Languages>(_Entities.Languages);
MoviesCollection = new ObservableCollection<Movies>(_Entities.Movies.Include("Languages"));
...
private void AddNewMovie()
{
OnPropertyChanged("NewMovieTitle");
OnPropertyChanged("NewMovieLanguage");
try
{
Movies NewMovie = new Movies
{
M_Title = NewMovieTitle,
M_Language_Id = Convert.ToInt32(NewMovieLanguage)+1,
};
_Entities.AddToMovies(NewMovie);
MoviesCollection.Add(NewMovie);
...
}
catch
{
...
}
}
エンティティ データモデル:
映画(表)
M_Id Int32
M_タイトル文字列
M_Language_Id Int32 fk
言語(表)
L_Id Int32
L_名前文字列
- データ -
言語
1 英語
2 ドイツ語
3 フランス語
4 スペイン語