使用 MVVM Light 和 Entity 框架的最佳方式是什么?
- 我正在创建 MVVM Light 项目。
- 我正在将实体数据库添加到模型文件夹。 (DB.edmx)
- 我被添加到 MainWindow.xaml DataGrid 和文本框。
- 下一步是什么,例如在文本框中显示用户名或在 DataGrid 中显示所有数据?
我需要在哪里添加这个逻辑?
dc.Employees.FirstOrDefault(s => s.EmployeesId == employeesId);
或dc.Employees()
我需要使用“模型”或“模型 View ”文件夹来添加我的逻辑吗?
我找到了一些教程,但是逻辑太难了 2 次需要创建 GetEmployees 等。 http://www.dotnetcurry.com/wpf/1037/mvvm-light-wpf-model-view-viewmodel http://dotnetpattern.com/mvvm-light-toolkit-example
最佳答案
在 ViewModel
文件夹中,您将有一个类 EmployeeViewModel
。这就是您需要构建的内容,您不关心数据的来源。
因此您可以使用另一个创建 EmployeeViewModel 的类 (EmployeeDataService
)。这是一个中间类,既不属于 ViewModel
也不属于 Model
文件夹。您可以将它放在像“DataServices
”这样的文件夹中。
在模型中,您可以有一个返回 Employee 的方法:
public Employee GetEmployee(){
...
return dc.Employees.FirstOrDefault(s => s.EmployeesId == employeesId);
...
}
然后,在 DataServices\EmployeeDataService.cs
中,您可以:
public EmployeeViewModel GetEmployeeViewModel(id){
Employee employeeModel = ModelClass.GetEmployee(id);
EmployeeViewModel employeeVm = ' ..code to build an EmployeeViewModel from employeeModel
return employeeVm;
}
关于c# - WPF MVVM Light Toolbox with Entity framework c# simple linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40465125/