C# 使用ICommand在数据库中保存MVVM
我有一个对话框来获取一些基本信息,以便在单击保存按钮时将这些信息保存到数据库中。 这些基本信息将通过绑定存储在ViewModel中。我通过实体框架和DataContext处理数据库C# 使用ICommand在数据库中保存MVVM,c#,wpf,xaml,mvvm,icommand,C#,Wpf,Xaml,Mvvm,Icommand,我有一个对话框来获取一些基本信息,以便在单击保存按钮时将这些信息保存到数据库中。 这些基本信息将通过绑定存储在ViewModel中。我通过实体框架和DataContext处理数据库 private Command.MonitoringTaskCommand objSaveButtonCommand = new Command.MonitoringTaskCommand( new Action<DataModel.MonitoringTask>(x =>
private Command.MonitoringTaskCommand objSaveButtonCommand =
new Command.MonitoringTaskCommand(
new Action<DataModel.MonitoringTask>(x => {
DataModel.MonitorContext context = new DataModel.MonitorContext();
context.MonitoringTasks.Add(x);
context.SaveChanges();
}),
new Func<bool>(() => {
Debug.WriteLine("Todo: Validate data... ");
return true;
}));
private命令。监视任务命令objSaveButtonCommand=
新建命令。监视任务命令(
新操作(x=>{
DataModel.MonitorContext上下文=新的DataModel.MonitorContext();
context.MonitoringTasks.Add(x);
SaveChanges();
}),
新函数(()=>{
WriteLine(“Todo:验证数据…”);
返回true;
}));
我坚持执行保存操作
- 如何将数据传递给命令
我知道XAML级别上有CommandParameter,但数据存储在ViewModel中,可能与XAML级别的数据不同。数据从命令的绑定传递,因此在绑定的位置使用CommandParameter绑定对象 检查本教程
XAML视图元素应与viewmodel的属性进行数据绑定(并在需要时进行更新)。还要考虑使用数据访问层来访问EF上下文。命令参数就是要走的路。