我的移动应用程序有问题(我使用Mvvm) - 我用于数据库的模型之间的命名约定(所以带有属性的类)和我用于视图模型的抽象模型的某些部分。
实施例
我存储在数据库' Cars&#39 ;,所以我上课了“汽车”。具有如下属性 - Guid,Name,Color。在我的视图模型中,我列出了那些车,所以我需要收集具有Name,IsSelected等属性的Cars。
当然,我不希望在我的项目中有一个名为“汽车”的课程。所有属性,所以我想知道是否有更好的选项/命名约定,而不是存储'汽车'和' CarsCollectionItem'在一个文件夹' Models' ?
答案 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>