gpt4 book ai didi

entity-framework - 如何让 Entity Framework 和 MVVM 很好地协同工作?

转载 作者:行者123 更新时间:2023-12-03 10:12:12 25 4
gpt4 key购买 nike

我想同时使用 EF 和 MVVM,并试图了解它们如何组合在一起。我找不到太多的例子,所以希望你们能回答几个问题。

假设我在名为 Customer 的数据库中有一个表。我运行 EF 设计器并获得一个数据模型。

下一步是运行一些 linq 以从数据模型中获取数据。让我们创建一个名为 CustomerRepository 的新类来执行此操作。

现在我猜模型会调用 CustomerRepository.GetCustomers 来获取客户列表。

这是我的问题 - CustomerModel 有一个由 EF 在数据模型中定义的客户对象列表。如何向其添加验证属性或任何类型的验证?

EF 和 MVVM 之间似乎有点脱节。我相信你们中的一些人以前遇到过这个 - 有什么想法吗?有没有更好的方法来解决这个问题?

干杯

史蒂夫

最佳答案

验证、业务规则和 Customer 对象的表示应该存在于 ViewModel 中,该 ViewModel 将作为您的 View 的 Controller 或展示器。

在如何创建该 ViewModel 方面,您有几个选择:

  • 包含模型作为 VM 的属性,并将模型实例传递给 VM 的构造函数。然后,您可以公开 Customer 的属性,并将它们连接到底层模型的相应属性。
  • 使用 T4 模板和反射(或最好 Introspection)生成一个 ViewModel 来“读取”模型,并生成将直接映射到它的属性。

  • 现在,您可以向 VM 添加自定义验证规则,这样当从 View 发送适当的命令时,您就可以执行您的业务规则,如果合适,您可以使用 EF 的 API 更新模型以将这些更改保留回数据库。 .

    关于entity-framework - 如何让 Entity Framework 和 MVVM 很好地协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990239/

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