2017-02-17 4 views
-1

私は自分のモバイルアプリケーション(私はMVVMを使用して)に問題がある - 命名、私はデータベースのために使用するモデル間の条約(性質を持つので、クラス)、私は私のために使用する抽象モデルの一部をビューモデル。データベースモデルの命名規則とビューモデル

私はデータベース「車」に保存するので、私のような性質を持つクラスと呼ばれる「カーズ」を持っている - GUID、名前、色。私のビューモデルでは、これらの車をリストに載せるので、名前、IsSelectedなどのプロパティを持つ車のコレクションが必要になります。

私のプロジェクトでは、すべてのプロパティを持つ 'Cars'というクラスを1つ持ちたくないので、 'Cars'と 'CarsCollectionItem'を1つのフォルダに保存するよりも、モデル?

答えて

1

私は、目的の観点から、それを思うだろう:

  • は、データベースの内容が参照であると言うので、あなただけのDbSet<Car> Carsを持っている必要があります。あなたはMVVMを使用している場合

  • は今、あなたが使用してコレクションは、いくつかの理由のために存在します。最も一般的な理由は、あなたがCollection<DisplayedCar> DisplayedCarsを持つことができるので、それらを表示することです。

これは、Dbオブジェクトのファサードを実装する場合に使用します。代わりの方法として、ビューモデルでDbオブジェクトを使用する方法があります。その後、

var carsVm = new CarsViewModel(); 
var carVm = new CarViewModel() {Car = carFromDb}; 
carsVm.Cars.Add(carVm); 
CarsView.DataModel = carsVm; 
CarView.DataModel = carVm; 

と:

<Grid DataContext="{Binding MyCarVm}"> 
    <TextBox Text="{Binding Car.Name}"/> 
</Grid> 
+0

はこれを共有していただきありがとうございます。 – boski