gpt4 book ai didi

wpf - 使用 MVVM-Light WPF 和 Linq to Entity Framework 进行数据验证

转载 作者:行者123 更新时间:2023-12-05 01:20:02 25 4
gpt4 key购买 nike

我想我已经阅读了搜索 wpf mvvm-light 数据验证时 google 返回的每篇文章,但我不知道该走哪条路。我知道 josh smith、Karl Shifflett 和 MVVM LIGHT 自己的数据验证演示技术。我看到的是大多数验证都要求我在我的 View 模型中完全“重新抽象”我的模型。这意味着我必须在我的 View 模型中为我想要验证的模型的每个属性创建一个属性(在某些情况下,将所有这些转换为字符串值以进行绑定(bind)/验证)。当我只想根据需要标记大多数字段时,这似乎很多或冗余。

我正在为来自 SQL Server 数据库的模型类使用 LINQ to entity framework(带 self 跟踪)。因此,我更愿意将我的业务数据验证/规则保留在我的 View 模型中。我编写了一个简单的服务接口(interface)来从模型中获取数据并将其传递到我的 View 模型。

我能找到的大多数例子都可以追溯到 2008 年(即 josh smith)。这些技术是否仍然有效,或者是否有更多关于使用 .NET 4.5 等进行 mvvm 数据验证的最新最佳实践。

所以我想问:

1) 你建议我使用什么方法2) 什么方法在 LINQ to EF with MVVM-Light Environment 中最有效。3)编辑:我想在用户输入数据时向他们提供反馈,而不仅仅是在他们提交表单时

谢谢

最佳答案

我这样做(不一定正确)的方法是在 ViewModel(CRUD 操作通常发生的地方)中进行验证,然后如果存在验证错误,则中止保存/添加任何数据并使用 Messenger .Default.Send 将自定义消息类型发送到我的 View 。然后我通过对话框或其他方式提醒用户。

我过去曾试验过 Binding ValidationRules,但发现迄今为止最可靠和一致的方法是简单的 if 语句。

关于wpf - 使用 MVVM-Light WPF 和 Linq to Entity Framework 进行数据验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14412094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com