c# - WPF MVVM Light Toolbox with Entity framework c# simple linq

标签 c# entity-framework mvvm-light

使用 MVVM Light 和 Entity 框架的最佳方式是什么?

  1. 我正在创建 MVVM Light 项目。
  2. 我正在将实体数据库添加到模型文件夹。 (DB.edmx)
  3. 我被添加到 MainWindow.xaml DataGrid 和文本框。
  4. 下一步是什么,例如在文本框中显示用户名或在 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/

相关文章:

c# - 我需要查看哪些 API 来编写我自己的 Windows 驱动器号

c# - 获取母版页中的当前 Controller 和操作

c# - 如何在 Android 中禁用布局的所有触摸

c# - Entity Framework 6 - 使用 ToString 加入时出现 ORA-00932

wpf - 从弹出的(“child”窗口重新加载父窗口

c# - 另一个快速排序计算器

c# - 对实体使用泛型

c# - DbContext/Ninject Dependency GetService Slow SingleOrDefault 在负载测试下

c# - Mvvmlight UpdateSourceTrigger 不工作

c# - 将新的 ViewModel 添加到 MVVM Light Toolkit 中的 ViewModelLocator