当前位置 : 主页 > 网络推广 > seo >

wpf – mvvm在模型或视图模型中检索数据?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在学习MVVM.我知道模型在概念上与我的数据有关.这是我的情景. database table definitioncreate table people (SSN varchar(9),first_name varchar(40),last_name varchar(40)) 在我看来,PeopleV.xaml我定义了一个包
我正在学习MVVM.我知道模型在概念上与我的数据有关.这是我的情景.

database table definition
create table people (SSN varchar(9),first_name varchar(40),last_name varchar(40))

在我看来,PeopleV.xaml我定义了一个包含3列的DataGrid:SSN,FirstName,LastName.

在我的模型类PeopleM中,我暴露了3个属性:SSN,FirstName,LastName.

在我的viewmodel类PeopleVM中我定义了:

PersonInfo = new ObservableCollection<PeopleM>();

现在我需要从SSN> =’xxxxxxxxx’的人那里执行select *并将数据放入DataTable.

我的问题是我应该在模型PeopleM类或viewmodel PeopleVM类中执行此操作(定义DataTable并用数据填充)?

谢谢.

模型应该是仅存在以保存数据的哑数据对象,因此我不会向该层添加任何类型的数据访问.

ViewModels用于为视图建模,通常包括为要使用的View加载正确的数据模型,但是它们不一定必须包含数据访问代码本身.

在大多数情况下,如果我将数据访问完全放在另一层,并让ViewModel通过与数据访问层交互来获取数据,我觉得最简单.

例如,我的ViewModel可能有一个SearchCommand,当点击它时会执行以下操作:

void Search(string ssn)
{
    PeopleCollection = PeopleRepository.GetPeopleBySsn(ssn);
}

拥有一个单独的数据访问层可以更轻松地重用数据访问组件,并使应用程序更易于维护,更新和测试.

网友评论