数据库模型和视图模型的命名约定

时间:2017-02-17 07:51:00

标签: mobile

我的移动应用程序有问题(我使用Mvvm) - 我用于数据库的模型之间的命名约定(所以带有属性的类)和我用于视图模型的抽象模型的某些部分。

实施例

我存储在数据库' Cars&#39 ;,所以我上课了“汽车”。具有如下属性 - Guid,Name,Color。在我的视图模型中,我列出了那些车,所以我需要收集具有Name,IsSelected等属性的Cars。

当然,我不希望在我的项目中有一个名为“汽车”的课程。所有属性,所以我想知道是否有更好的选项/命名约定,而不是存储'汽车'和' CarsCollectionItem'在一个文件夹' Models' ?

1 个答案:

答案 0 :(得分:1)

我会从目的来考虑它:

  • 假设数据库的内容是引用,因此您应该只有DbSet<Car> Cars

  • 现在,如果您使用MVVM,您使用的集合由于某种原因而存在。最通用的原因是显示它们,因此您可以拥有Collection<DisplayedCar> DisplayedCars

如果你想为你的Db对象实现一个façade。另一种方法是在视图模型中使用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>